@PostMapping
public ResponseEntity postQuestion(@Valid @RequestBody QuestionPostDTO questionPostDTO){
Question question =
questionService.createQuestion(mapper.questionPostDTOToQuestion(questionPostDTO));
// question.setAnswer(new Answer());
URI location = UriCreator.createUri(QUESTION_DEFAULT_URL, question.getQuestionId());
return ResponseEntity.created(location).build();
}
여기서
URI location = UriCreator.createUri(QUESTION_DEFAULT_URL, question.getQuestionId());
얘는 무슨 의미일까
URI location = UriCreator.createUri(QUESTION_DEFAULT_URL, question.getQuestionId());의 의미
- 정의: URI location = UriCreator.createUri(QUESTION_DEFAULT_URL, question.getQuestionId());는 클라이언트에게 새로 생성된 리소스의 위치를 알려주기 위해 사용하는 코드이다. 이 코드에서는 QUESTION_DEFAULT_URL과 새로 생성된 질문의 ID(question.getQuestionId())를 이용하여 새 리소스의 URI를 생성한다.
- 의미: 이 URI는 클라이언트가 POST 요청을 통해 새 질문을 생성한 후, 해당 질문을 조회하거나 수정할 수 있는 위치를 나타낸다. 클라이언트는 이 URI를 사용하여 새로 생성된 질문에 접근할 수 있다.
- 목적: POST 요청을 처리한 후, 클라이언트가 새로 생성된 리소스의 위치를 알 수 있도록 하기 위해 URI를 반환한다. 이렇게 함으로써, 클라이언트는 리소스가 생성된 후 그 위치를 쉽게 참조할 수 있다.
포스트했을 때 아이디의 중요성
- 설명: POST 요청을 통해 리소스를 생성할 때, 생성된 리소스의 ID는 요청의 응답에서 확인할 수 없다. 따라서 새로 생성된 리소스의 ID를 응답으로 포함시키는 것이 중요하다. 이 ID를 사용하여 클라이언트는 생성된 리소스의 위치를 추적할 수 있다.
- 포스트와 아이디: POST 요청을 통해 새 리소스를 생성한 후, 생성된 리소스의 ID를 함께 응답으로 보내는 것이 좋다. 이는 프론트엔드에서 새 리소스의 위치를 쉽게 참조할 수 있도록 도와준다. 많은 양의 데이터가 있는 경우, 아이디를 포함시키는 것이 중요하다.
REST API에 대한 이해 필요
- 설명: REST API를 올바르게 사용하고 이해하기 위해서는 API의 설계 원칙과 요청/응답의 처리 방식에 대한 충분한 공부가 필요하다. REST API는 리소스의 생성, 조회, 수정, 삭제를 HTTP 메서드를 통해 처리하며, 리소스의 식별과 위치를 URI를 통해 관리한다.
'spring > [실습] 솔로프로젝트' 카테고리의 다른 글
| 2024-07-30 (0) | 2024.07.30 |
|---|---|
| 2024-07-18 일의 솔로 프로젝트 중간 점검 설계 (0) | 2024.07.18 |
| 까먹으면 안되는 것 - 추가 (0) | 2024.07.18 |
| 2일차 (0) | 2024.07.12 |
| 스프링 마치고 하는 솔로프로젝트 - 게시판 추가하기 _1차 설계 (0) | 2024.07.10 |