@@ -9,10 +9,18 @@ Because DefaultResponseWriteUtil and DefaultResponseWriter is already registered
99
1010``` java
1111@Configuration
12+ @RequiredArgsConstructor
1213public class ExceptionAdviceConfig {
14+
1315 @Bean
14- ExceptionAdvice<DefaultResponseErrorReasonDTO > exceptionAdvice (DefaultResponseWriteUtil responseWriteUtil ) {
15- return new ExceptionAdvice<> (new DefaultResponseExceptionAdviceHandler (responseWriteUtil), DefaultResponseErrorReasonDTO . class);
16+ ExceptionAdviceConfigurer exceptionAdviceConfigurer (ExceptionHandlerRegistry exceptionHandlerRegistry ) {
17+ ExceptionAdviceConfigurer exceptionAdviceConfigurer = new ExceptionAdviceConfigurer (exceptionHandlerRegistry);
18+ return exceptionAdviceConfigurer
19+ .withDefault()
20+ .enableMethodArgumentNotValidExceptionAdvice(DefaultResponseErrorCode . _BAD_REQUEST)
21+ .enableConstraintViolationExceptionAdvice(DefaultResponseErrorCode . _BAD_REQUEST)
22+ .enableGlobalExceptionAdvice(DefaultResponseErrorCode . _INTERNAL_SERVER_ERROR)
23+ ;
1624 }
1725}
1826```
@@ -26,10 +34,10 @@ You can use DefaultResponseWriter which is already registered in bean with DI
2634@RequiredArgsConstructor
2735public class TestController {
2836
29- private final ResponseWriter responseWriter;
37+ private final DefaultSuccessResponseWriter responseWriter;
3038
3139 @GetMapping (" /success" )
32- public BaseResponse success () {
40+ public DefaultResponse< String > success () {
3341 return responseWriter. ok(" success" ); // you can use DTO class instead of "success"
3442 }
3543}
@@ -42,6 +50,5 @@ You can make custom response by implementing BaseResponse, ErrorReasonDTO, Succe
4250
43511 . Make custom BaseResponse
44522 . Make custom ErrorReasonDTO, SuccessReasonDTO
45- 3 . Make custom ResponseWriteUtil
46- 4 . Make custom ExceptionAdviceHandler, ResponseWriter
47- 5 . Register your custom Util, Handler, Writer in bean
53+ 3 . Make custom SuccessResponseWriter, FailureResponseWriter
54+ 4 . Register your custom Util, Handler, Writer in bean
0 commit comments