Programing/Spring Boot

SpringBoot @RequestBody 데이터 선택적으로 받기

딩코딩 2023. 7. 4. 08:25

결론: @RequestBody(required = false) 를 사용하여 해결

 

@RequestBody 사용 예시

일반적으로 @RequestBody를 사용할 때는 해당 필드값이 필수적으로 필요하다는 것을 가정합니다. 하지만 때로는 필수적이지 않은 경우가 있습니다.

@PostMapping("/example")
public ResponseEntity<String> example(@RequestBody ExampleDto exampleDto) {
    // ...
}

위 코드에서 ExampleDto는 @RequestBody로 받을 객체입니다. 하지만 이 객체의 필드 중 일부는 선택적으로 필요한 경우가 있을 수 있습니다.

 

@RequestBody(required = false)를 사용한 예시

이런 경우, @RequestBody(required = false)를 사용하여 해당 필드가 선택적임을 명시할 수 있습니다.

@PostMapping("/example")
public ResponseEntity<String> example(@RequestBody(required = false) ExampleDto exampleDto) {
    // ...
}

위 코드에서는 ExampleDto를 @RequestBody로 받되, 필수적이지 않은 필드는 null 값으로 받아옵니다.

이렇게 함으로써 선택적인 필드를 받아야 하는 경우에도 코드를 간결하게 유지할 수 있습니다.