728x90
ServletUriComponenetsBuilder
Rest API를 구현하다 보면 사용자로부터 요청이 왔을 때 특정값을 포함한 URI를 전달해야하는 상황이 발생할 수 있다. 이 때 사용하는 것이 ServletUriComponenetsBuilder다. ServletUriComponenetsBuilder를 통해 적절한 URI를 만들고 요청한 사용자에게 특정값을 포함한 URI를 전달할 수 있다.
ServletUriComponenetsBuilder는 UriComponenetsBuilder를 상속받는 클래스다. ServletUriComponenetsBuilder는 이전 요청의 URI를 재사용하여 보다 편리한 URI를 사용할 수 있도록 도와준다.
주로 파일 업로드 후 파일 다운로드 경로를 사용자에게 보내주고자할 때 자주 사용한다.
@PostMapping("/users")
public ResponseEntity<User> createUser(@RequestBody User user) {
User savedUser = service.save(user);
URI location = ServletUriComponentsBuilder.fromCurrentRequest() // 사용자 요청 URI
.path("/{id}") // builderAndExpand를 통해 얻은 값이 들어온다.
.buildAndExpand(savedUser.getId()) // .path("{/id}") 의 id 값에 들어올 값
.toUri(); // URI 생성
return ResponseEntity.created(location).build();
}
👀 참고 자료
https://tecoble.techcourse.co.kr/post/2021-05-10-response-entity/
728x90
'[ Spring ] > REST API' 카테고리의 다른 글
[Spring] Rest API Documentation을 위한 Swagger 사용 (0) | 2022.05.10 |
---|---|
[Spring] API 구현을 위한 Hateoas 적용 (0) | 2022.05.10 |
[Spring] Rest Api Version 관리 (0) | 2022.05.10 |
[Spring] Response 데이터 제어를 위한 Filtering (0) | 2022.05.09 |
[Spring] AOP를 이용한 Exception Handing (0) | 2022.05.08 |