HTTP Status Code 제어

매니·2022년 9월 7일
0

Restful-Web-Service

목록 보기
4/4

HTTP Status Code 제어에 대해서 배웠다.

GET과 Post 의 사용법이 다르기때문에 응답코드를 바꿔보면 어떨까, 싶다.

	@PostMapping("/users")
    public ResponseEntity<User> createUser(@RequestBody User user) {
        User savedUser = service.save(user);

        // 상태코드 분리
        URI location = ServletUriComponentsBuilder.fromCurrentRequest()
                .path("/{id}")
                .buildAndExpand(savedUser.getId())
                .toUri();

        return ResponseEntity.created(location).build();
    }

정상적으로 201 Created 라는 코드를 반환해주는 것을 확인할 수 있다.

	URI location = ServletUriComponentsBuilder.fromCurrentRequest()
                .path("/{id}")
                .buildAndExpand(savedUser.getId())
                .toUri(); // 이과정을 모두 uri 형태로 변경

    return ResponseEntity.created(location).build();

이것이 상태코드와 관련된 코드인데 이것을 하나하나 해석해보자면
ServletUriComponentsBuilder : 현재 요청의 URI 가져옴
fromCurrentRequest : 현재 요청되어진 request 값을 사용한다는 뜻

배운점

  • 왜, 상태코드를 나눠야하는지
    - 상태코드를 전부 같은 값으로 설정한다면, 사용자는 구분이 되지 않을 것이고 결과를 보려면 다시 서버에 요청해야한다. 이 과정에서 네트워크 트래픽이 감소가 된다.
  • 상태코드를 나누는 법
profile
성장중 🔥

0개의 댓글