IMHOの例外は例外的な場合です。シナリオが例外なく処理できる場合、例外はスローされません。Spring RESTのエラーシナリオの処理
例外を作成するには少なくとも1ms必要となり、パフォーマンスに影響します。だから、エラーシナリオを処理する最善の方法は何ですか?
シナリオ#1:
ResponseEntity createOrder(@RequestBody Order order){
if(order.items == null)
return ResponseEntity.badRequest().build();
...
}
シナリオ#2: 春Error Handling for REST with Spring
ResponseEntity createOrder(@RequestBody Order order){
if(order.items == null)
throw new CustomException();
...
}
@ControllerAdvice
public class RestResponseEntityExceptionHandler extends ResponseEntityExceptionHandler {
@ExceptionHandler(value = { CustomException.class })
protected ResponseEntity<Object> handleConflict(RuntimeException ex, WebRequest request) {
String bodyOfResponse = "Error";
return handleExceptionInternal(ex, bodyOfResponse,
new HttpHeaders(), HttpStatus.BAD_REQUEST, request);
}
}
スタックトレースなしで例外を試しましたか?そのようなケースではより効率的です。 – dev4Fun
提案のおかげで@ xsx4u – jaks