[QnA 게시판] Post 요청시 URI를 보내는 이유
Categories: Project
📌 개인적인 공간으로 공부를 기록하고 복습하기 위해 사용하는 블로그입니다.
정확하지 않은 정보가 있을 수 있으니 참고바랍니다 :😸
[틀린 내용은 댓글로 남겨주시면 복받으실거에요]
Post 요청시 Controller에서 URI location을 ResponseEntity에 담아 보내는 이유
post 요청시에 왜 URI location을 ResponseEntity에 담아보내는지 계속 의문을 가지고 있었다.
요약해서 말하자면 새로운 자원이 생성될때 생성된 자원의 위치를 클라이언트에게 알려주는 것이
RESTful API에서 중요한 부분이라고 한다.
UriComponentsBuilder
를 사용하여 생성된 자원의 URI를 만들어서 응답의 Location 헤더에 담아 보내게 되는데 그럼 아래와 같이 헤더에서 URI를 볼 수 있다.
- 가장 큰 이유는 RESTful한 방식을 따르기 위해서 이다.
- 자원을 사용해야할 때는 당연하고 사용하지 않더라도 자원의 상태와 위치를 명확하게 표현해 주어야한다.
- 클라이언트에서 자원에 접근할 수 있어야 한다.
- 상태 코드 201로 요청이 성공적으로 처리되었고 생성된 자원을 URI에 담아서 응답하면 클라이언트에서는 이 정보로 쉽게 접근/수정/조회 등을 할 수 있고 후속 작업을 할 수 잇다.
- 자원의 위치를 형식과 무관하게 표준화 된 형식으로 제공할 수 있는 장점이 있다.
Leave a comment