본문 바로가기

spring/[실습] 솔로프로젝트

URI 메서드 어떻게 쓰는데

 @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를 통해 관리한다.