Notice
Recent Posts
Recent Comments
Link
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 |
Tags
- list 컬렉션
- coding test
- insertion sort
- Stack
- 메모리구조
- R
- Serialization
- datastructure
- buffer
- 알기쉬운 알고리즘
- Selection Sorting
- 이것이 자바다
- s
- 혼자 공부하는 C언어
- Graph
- ㅅ
- C programming
- stream
- 이스케이프 문자
- C 언어 코딩 도장
- 윤성우의 열혈 자료구조
- Algorithm
- JSON
- 윤성우 열혈자료구조
Archives
- Today
- Total
Engineering Note
[Spring] BindingResult 본문
BindingResult
- 스프링 프레임워크에서 데이터바인딩과 검증결과를 담는 인터페이스
주요 역할
1. 데이터 바인딩 오류 수집
- HTTP 요청 데이터를 객체로 변환할 때 발생하는 오류들을 수집
2. 검증(Validation) 결과 저장
- @Valid 어노테이션으로 수행된 검증 결과를 저장
사용 방법
@PostMapping("/cart")
public ResponseEntity<?> addCart(
@RequestBody @Valid CartItemDto cartItemDto,
BindingResult bindingResult) {
if (bindingResult.hasErrors()) {
Map<String, String> errors = new HashMap<>();
bindingResult.getFieldErrors().forEach(error -> {
errors.put(error.getField(), error.getDefaultMessage());
});
return ResponseEntity.badRequest().body(errors);
// 예: {"itemId": "상품 아이디는 필수 입력값입니다.", "count": "최소 1개 이상 담아주세요"}
}
// 정상 처리
return ResponseEntity.ok("장바구니에 추가되었습니다.");
}
주의 할 점
- BindingResult는 검증할 객체 바로 다음에 위치해야 한다.
// 올바른 순서
public String method(@Valid CartItemDto dto, BindingResult result) { }
// 잘못된 순서 - 오류 발생
public String method(@Valid CartItemDto dto, Principal principal, BindingResult result) { }'Server' 카테고리의 다른 글
| [Server] Pageable과 Page<E> 타입 (0) | 2025.10.15 |
|---|---|
| [Server] QueryDSL, Spring Boot 핵심 라이브러리 정리 (0) | 2025.10.07 |
| [Server] 리버스 프록시(Reverse Proxy)란? (0) | 2025.09.20 |
| [Server] Pagination 개념과 Pagination 에서 사용되는 용어, 페이지 시작 번호계산 방법 (0) | 2025.09.17 |
| [Server] Spring Boot3 Security 적용 방법 (0) | 2025.09.12 |
Comments