Loading...
Spring Framework Reference Documentation 7.0.2의 @RequestBody의 한국어 번역본입니다.
아래의 경우에 피드백에서 신고해주신다면 반영하겠습니다.
감사합니다 :)
@RequestBody@RequestBody 어노테이션을 사용하여 요청 본문을 읽고
HttpMessageConverter를 통해 객체로 역직렬화할 수 있습니다.
다음 예제는 @RequestBody 인수를 사용하는 예입니다:
1@PostMapping("/accounts") 2public void handle(@RequestBody Account account) { 3 // ... 4}
1@PostMapping("/accounts") 2fun handle(@RequestBody account: Account) { 3 // ... 4}
Message Converters 옵션을 MVC Config에서 사용하여 메시지 변환을 구성하거나 커스터마이즈할 수 있습니다.
폼 데이터는
@RequestBody가 아니라@RequestParam을 사용하여 읽어야 합니다. Servlet API에서 요청 매개변수에 접근하면 요청 본문이 파싱되며, 다시 읽을 수 없기 때문에@RequestBody는 항상 신뢰할 수 있게 사용될 수 없습니다.
@RequestBody를 jakarta.validation.Valid 또는 Spring의
@Validated 어노테이션과 함께 사용할 수 있으며, 둘 다 Standard Bean Validation이
적용되도록 합니다.
기본적으로 검증 오류는 MethodArgumentNotValidException을 발생시키며,
이는 400 (BAD_REQUEST) 응답으로 변환됩니다. 또는 다음 예제에서 보듯이,
컨트롤러 내에서 Errors 또는 BindingResult 인수를 통해
검증 오류를 로컬하게 처리할 수도 있습니다:
1@PostMapping("/accounts") 2public void handle(@Valid @RequestBody Account account, Errors errors) { 3 // ... 4}
1@PostMapping("/accounts") 2fun handle(@Valid @RequestBody account: Account, errors: Errors) { 3 // ... 4}
다른 매개변수에 @Constraint 어노테이션이 있어서 메서드 검증이 적용되는 경우,
대신 HandlerMethodValidationException이 발생합니다. 자세한 내용은
Validation 섹션을 참조하세요.
Multipart
HttpEntity