LeoHeo / collect

e-commerce toy project (WIP)
MIT License
4 stars 0 forks source link

Exception handling #2

Closed LeoHeo closed 6 years ago

LeoHeo commented 6 years ago

Dev, Test, Staging, Production을 구분해보자

간단한 에러 처리 -> 고민중

spring5에 추가된 ResponseStatusException

throw new ResponseStatusException(HttpStatus.BAD_REQUEST, "missing required value");
Response Status 400
{
    "timestamp": "2018-04-01T01:24:34.833+0000",
    "status": 400,
    "error": "Bad Request",
    "message": "missing required value",
    "path": "/user/signup"
}

RestControllerAdvice로 직접 ExceptionHandler하는것

throw new BadRequestException("missing required value");
public class BadRequestException extends RuntimeException {

  public BadRequestException(String message) {
    super(message);
  }
}
@RestControllerAdvice
public class WebRestControllerAdvice {

  @ExceptionHandler(BadRequestException.class)
  @ResponseStatus(HttpStatus.BAD_REQUEST)
  public SingleErrorMessage invalidParameterException(BadRequestException err) {
    return new SingleErrorMessage("missing required value");
  }

}
Response Status 400
{
    "error": "missing required value"
}