X-Git-Url: https://juplo.de/gitweb/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fde%2Fjuplo%2Fdemo%2FRestController.java;fp=src%2Fmain%2Fjava%2Fde%2Fjuplo%2Fdemo%2FRestController.java;h=5d1d8f6dfe367d1553e8538b471fdb49354f65ce;hb=ddda08de0026c84ed095dc76955f874fa7ef2dc6;hp=f6cddca8c4d206f8b6ba06d9b4753b8d9e7c5d6c;hpb=ab2e91f650140216087203aa7f77b9d356bd6a6f;p=demos%2Ftesting diff --git a/src/main/java/de/juplo/demo/RestController.java b/src/main/java/de/juplo/demo/RestController.java index f6cddca..5d1d8f6 100644 --- a/src/main/java/de/juplo/demo/RestController.java +++ b/src/main/java/de/juplo/demo/RestController.java @@ -1,11 +1,13 @@ package de.juplo.demo; +import org.springframework.http.HttpStatus; import org.springframework.http.MediaType; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.reactive.function.client.WebClientResponseException; import org.springframework.web.reactive.function.client.WebClientResponseException.NotFound; +import org.springframework.web.server.ResponseStatusException; import reactor.core.publisher.Mono; @@ -34,25 +36,21 @@ public class RestController .onErrorResume(t -> { if(t.getClass().equals(NotFound.class)) - return Mono.error(t); + return Mono.error(new ResponseStatusException(HttpStatus.NOT_FOUND, "Cause: " + t.getMessage(), t)); if(!(t instanceof WebClientResponseException)) return Mono.error( - WebClientResponseException.create( - 500, - "Internal Server Error - Cause: " + t.getMessage(), - null, - null, - null)); + new ResponseStatusException( + HttpStatus.INTERNAL_SERVER_ERROR, + "Cause: " + t.getMessage(), + t)); return Mono.error( - WebClientResponseException.create( - 503, - "Service Unavailable - Cause: " + t.getMessage(), - null, - null, - null)); + new ResponseStatusException( + HttpStatus.SERVICE_UNAVAILABLE, + "Cause: " + t.getMessage(), + t)); }); } }