
기본적으로 리소스가 있다면 갱신하며, 리소스가 없다면 생성한다.
@Slf4j
@RestController
@RequestMapping("/api")
public class PutApiController {
@PutMapping("/put")
public void put(
@RequestBody
UserRequest userRequest
) {
log.info("Request : {}", userRequest);
}
}
@Data
@AllArgsConstructor
@NoArgsConstructor
@JsonNaming(value = PropertyNamingStrategies.SnakeCaseStrategy.class)
public class UserRequest {
private String userName;
private Integer userAge;
private String email;
private Boolean isKorean;
}
Lombok 라이브러리에서 제공하는 애노테이션으로, 자바에서 로깅을 간편하게 처리할 수 있도록 한다.
이를 사용하면 별도로 Logger 객체를 생성하고 초기화할 필요 없이 간단하게 로깅 할 수 있다.
@PutMapping을 통해 @RequestBody로 받은 객체에 데이터를 전달할 수 있다.
@PutMapping("/put")
public void put(
@RequestBody
UserRequest userRequest
) {
log.info("Request : {}", userRequest);
}
log.info를 사용하면 다음과 같이 log를 출력할 수 있다.
log.info의 매개변수에 문자열을 {}와 함께 입력하고, 뒤에 객체를 입력하면 {}자리에 객체를 대신 넣어 출력한다.2024-04-30T23:58:17.557+09:00 INFO 5606 --- [rest-api] [nio-8080-exec-2] o.e.restapi.controller.PutApiController : Request : UserRequest(userName=홍길동, userAge=10, email=hong@gmail.com, isKorean=true)