File tree Expand file tree Collapse file tree 1 file changed +14
-6
lines changed
src/main/java/in/erail/route Expand file tree Collapse file tree 1 file changed +14
-6
lines changed Original file line number Diff line number Diff line change 3030import java .util .Arrays ;
3131import java .util .HashMap ;
3232import java .util .Optional ;
33+ import org .apache .commons .lang3 .exception .ExceptionUtils ;
3334
3435/**
3536 *
@@ -256,27 +257,34 @@ public Router getRouter(Router pRouter) {
256257 apiFactory .addFailureHandlerByOperationId (service .getOperationId (), (routingContext ) -> {
257258 routingContext
258259 .response ()
259- .setStatusCode (400 )
260- .end (routingContext . failure (). toString ( ));
260+ .setStatusCode (routingContext . statusCode () )
261+ .end (generateErrorResponse ( routingContext ));
261262 });
262263 apiFactory .setValidationFailureHandler ((routingContext ) -> {
263264 routingContext
264265 .response ()
265- .setStatusCode (400 )
266- .end (routingContext . failure (). toString ( ));
266+ .setStatusCode (routingContext . statusCode () )
267+ .end (generateErrorResponse ( routingContext ));
267268 });
268269 apiFactory .setNotImplementedFailureHandler ((routingContext ) -> {
269270 routingContext
270271 .response ()
271- .setStatusCode (400 )
272- .end (routingContext . failure (). toString ( ));
272+ .setStatusCode (routingContext . statusCode () )
273+ .end (generateErrorResponse ( routingContext ));
273274 });
274275 });
275276 });
276277
277278 return apiFactory .getRouter ();
278279 }
279280
281+ protected String generateErrorResponse (RoutingContext pContext ) {
282+ return Optional
283+ .ofNullable (pContext .failure ())
284+ .map (error -> ExceptionUtils .getMessage (error ))
285+ .orElse (pContext .getBodyAsString ());
286+ }
287+
280288 public boolean isSecurityEnable () {
281289 return mSecurityEnable ;
282290 }
You can’t perform that action at this time.
0 commit comments