728x90
RequestDTO로 Controller에서 요청받을 때 @RequestBody 어노테이션 작성해야 하는 경우와 작성하지 않아야 하는 경우
@RequestBody 어노테이션을 작성해야 하는 경우
- JSON/XML 요청 처리:
- 클라이언트가 'application/json' 또는 'application/xml' 형식으로 복잡한 데이터 구조를 전송할 때, Spring은 이를 RequestDTO 객체로 매핑하기 위해 @RequestBody를 사용한다.
- 복잡한 데이터 구조:
- HTTP 요청의 본문이 복잡한 객체 구조를 가지고 있을 때, @RequestBody를 사용하여 이러한 복잡한 구조를 자동으로 Java 객체로 변환한다.
@RequestBody 어노테이션을 작성하지 않아야 하는 경우
- 폼 데이터 처리:
- 클라이언트가 'multipart/form-data' 또는 'application/x-www-form-urlencoded' 형식으로 데이터를 전송할 때, 이러한 요청은 @ModelAttribute를 사용하여 처리하며, @RequestBody는 사용하지 않는다.
- 단순 파라미터 처리:
- 요청이 URL의 파라미터 형식으로 전달되거나, 단순한 값이 전송될 때 @RequestParam이나 @PathVariable 같은 다른 어노테이션을 사용하여 처리하며, @RequestBody는 필요하지 않다.
이러한 조건들은 @RequestBody의 사용 여부를 결정하는 데 중요한 기준이 된다. 컨트롤러에서 요청을 받을 때 요청의 Content-Type과 요구되는 데이터 처리 방식을 기반으로 적절한 어노테이션을 선택해야 한다.
'Spring > Spring Boot' 카테고리의 다른 글
[Spring Boot] Spring Batch 코드 작성 후 실행 시 Table doesn't exist 에러 해결 (0) | 2023.11.07 |
---|---|
[Spring Boot] 의존성 버전문제로 인한 오류 해결 (1) | 2023.11.07 |
이해하기 쉬운 CORS 및 API 개발 안내서 (Access-Control-Allow-Headers) (1) | 2023.11.05 |
[Spring Boot] Custom Annotation 만들기 - AOP(Aspect-Oriented Programming) (1) | 2023.10.24 |
[Spring Boot] Custom Annotation 만들기 - 메타 어노테이션 (2) | 2023.10.23 |