스프링개발자/203 - Validation
-
3. 스프링 Custom Validation - 좀 더 친절한 Error Response스프링개발자/203 - Validation 2020. 8. 10. 04:44
[배경] Validation Error(4XX)에서는 가능한 많은 정보를 제공해주면, client입장에서 감동을 받는다 client request의 어떤 필드 값이 잘못되었는지, 어떻게 되어야 하는지 등등 다음의 트위터 developer docs을 참고해보자 https://developer.twitter.com/en/docs/basics/response-codes Response codes The standard Twitter API returns HTTP status codes in addition to JSON-based error codes and messages. HTTP status codes The Twitter API attempts to return appropriate HTTP statu..
-
2. 스프링 Validation with custom message and custom response container스프링개발자/203 - Validation 2020. 8. 10. 03:31
[배경] 스프링 Validation에서 좀 더 많은 정보를 제공 할 수 없을까? 다음은 제공해야 되는 field인 "rides"를 입력하지 않아서 생기는 400 에러이다 postman response를 보면 timestamp, status, error, message, path의 정보가 있다. message에는 아무것도 표시 되지 않았다. 어떤 값이 잘못되어서 해당 오류가 난지 정보가 부족하다. 1. NotNull 어노테이션에 정보 제공하기 다시 postman request를 send해보면 여전히 "message": "" 로 메세지 표시되지 않았다. 내가 입력한 메세지는, IDE에 run 텝에서 WARN종류의 log에만 기록되었다 2. NotValidException을 인터셉트 하자 어떻게 하면 resp..
-
1. 스프링 Validation - 가장 기본뼈대스프링개발자/203 - Validation 2020. 8. 9. 10:50
[배경] Client Request가 잘못된 경우에, 서버는 4XX 에러를 리턴한다. 잘못된 Request의 정의는, 어플리케이션마다 다르지만, 흔히 다음과 같은 패턴을 갖는다 Request에 입력되야 할 필드값이 없다 Request에 입력되지 말아야 할 필드값이 있다 Request의 특정 Field의 값이 한계치보다 크다 javax.validation.constraints 패키지에 있는 스프링 Validation은 몇가지 어노테이션만으로 스프링 Validation을 쉽게 구현할 수 있게 도와준다. 1. Dispatch Request를 만들자 최대한 간편하게 뼈대만 만든다. 여기의 Business usage case는 다음과 같다. 미국 월마트에서 Grocery를 배달해준다. 전날 미리 주문을 받아서, ..
-
스프링개발자 203 - Validation스프링개발자/203 - Validation 2020. 8. 9. 10:13
[배경] user request가 잘못된 경우, 서버는 흔히 400 에러를 내보낸다. 4XX에러, Validation을 구현해보자 1. 스프링 Validation 2. 스프링 Validation with more info 3. Custom Validation 4. Custom Validation with http status code 5. Custom Validation with custom message and field info