일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- JPQL
- AOP
- springdatajpa
- 스프링
- 김영한
- Proxy
- 인프런
- pointcut
- http
- spring
- kotlin
- 알고리즘
- db
- 그리디
- Spring Boot
- JDBC
- 스프링 핵심 기능
- Greedy
- 스프링 핵심 원리
- QueryDSL
- SpringBoot
- jpa
- 백준
- Exception
- transaction
- 자바
- Servlet
- java
- Android
- Thymeleaf
- Today
- Total
목록검증 (5)
개발자되기 프로젝트
1. 의존성 추가 implementation("org.springframework.boot:spring-boot-starter-validation") 2. 파라미터에 적용 Bean Validator를 파라미터에 사용하기 위해서는 class에 @Validated를 적용해야 한다. @RestController @RequestMapping("/api") @Validated //얘를 적용해야 하위에 있는 validation Annotation이 동작함. class DeleteApiController { // 1. path variable // 2. request param @DeleteMapping("/delete-mapping") fun deleteMapping( @RequestParam(value = "na..
1. Bean Validation 의존관계 추가 build.gradle implementation 'org.springframework.boot:spring-boot-starter-validation' 추가되는 라이브러리 jakarta.validation-api : Bean Validation 인터페이스 hibernate-validator : 구현체 2. Bean Validation 사용 import lombok.Data; import org.hibernate.validator.constraints.Range; import javax.validation.constraints.Max; import javax.validation.constraints.NotBlank; import javax.validatio..
스프링이 Validator 인터페이스를 별도로 제공하는 이유는 체계적으로 검증 기능을 도입하기 위해서임. 그런데 앞에서는 검증기를 직접 불러서 사용했음. 그런데 Validator 인터페이스를 사용해서 검증기를 만들면 스프링의 추가적인 도움을 받을 수 있음. 1. WebDataBinder를 통해 사용 WebDataBinder 는 스프링의 파라미터 바인딩의 역할을 해주고, 검증 기능도 내부에 포함한다. 2. WebDataBinder 적용 2.1 Controller @InitBinder 적용, init() 해당 메서드에 WebDataBinder를 넘겨주고, WebDataBinder에 validator를 넣어준다. 이렇게 되면 Controller가 호출될 때마다 WebDataBinder를 생성한다. 이렇게 We..
1. 상품 저장 성공 시나리오 2. 상품 저장 실패 시나리오 이런 저런 이유로 data가 누락되거나 잘못된 data가 넘어오는 경우 검증에 실패해야함. 이렇게 검증에 실패한 경우 고객에게 다시 상품 등록 폼을보여주고, 어떤 값을 잘못 입력했는지 알려줘야함. 검증에 실패할 경우 Model에 data를 담아서 상품등록 폼에 다시 전달함. Thymeleaf는 넘어온 data를 가지고 랜더링을 다시함. 3. 검증로직 추가 : addItem. 검증시 오류가 발생하면 errors 에 담아둔다. 이때 어떤 필드에서 오류가 발생했는지 구분하기 위해 오류가 발생한 필드명을 key 로 사용한다. 이후 뷰에서 이 데이터를 사용해서 오류 메시지를 출력 @PostMapping("/add") public String addIte..
1. 검증 로직 추가 타입 검증 가격, 수량에 문자가 들어가면 검증 오류 처리 필드 검증 상품명: 필수, 공백X 가격: 1000원 이상, 1백만원 이하 수량: 최대 9999 특정 필드의 범위를 넘어서는 검증 가격 * 수량의 합은 10,000원 이상 2.Controller의 역할 컨트롤러의 중요한 역할중 하나는 HTTP 요청이 정상인지 검증하는 것이다. 그리고 정상 로직보다 이런 검증 로직을 잘 개발하는 것이 어쩌면 더 어려울 수 있음 3. Client 검증, Server 검증 클라이언트 검증은 조작할 수 있으므로 보안에 취약하다. 서버만으로 검증하면, 즉각적인 고객 사용성이 부족해진다. 둘을 적절히 섞어서 사용하되, 최종적으로 서버 검증은 필수 API 방식을 사용하면 API 스펙을 잘 정의해서 검증 오류..