Обработка исключений при весенней загрузке с помощью @RestConrollerAdvice - PullRequest
0 голосов
/ 31 октября 2018

Использую пружинный ботинок 2.0.6.

У меня есть отображение, как показано ниже:

@RestController
@RequestMapping(value = {"/"})
public class A {
    @PostMapping(value = {"test"}, consumes = MediaType.APPLICATION_JSON_VALUE)
    public String getResponse(@RequestBody String message) throws Exception{
        return "Hello world!";
    }
}

Это работает, когда я использую приведенный ниже фрагмент кода в том же классе (класс A)

@RestControllerAdvice
@Order(value = Ordered.HIGHEST_PRECEDENCE)
@RestController
@RequestMapping(value = {"/"})
public class A {
    @ExceptionHandler({HttpMediaTypeNotSupportedException.class})
    @ResponseStatus(HttpStatus.BAD_REQUEST)
    @ResponseBody
    public ResponseEntity<String> processException(HttpMediaTypeNotSupportedException  exception){
        return ResponseEntity.status(HttpStatus.BAD_REQUEST)
            .body("error");
   }

    @PostMapping(value = {"test"}, consumes = MediaType.APPLICATION_JSON_VALUE)
    public String getResponse(@RequestBody String message) throws Exception{
        return "Hello world!";
    }
}

но когда я использую отдельный класс с RestControllerAdvice (assignableTypes = A.class) аннотацией , он не работает.

 @RestControllerAdvice(assignableTypes = A.class)
 @Order(value = Ordered.HIGHEST_PRECEDENCE)
 public class GlobalExceptionHandler{
    @ExceptionHandler({HttpMediaTypeNotSupportedException.class})
    @ResponseStatus(HttpStatus.BAD_REQUEST)
    @ResponseBody
    public ResponseEntity<String> processException(HttpMediaTypeNotSupportedException exception){
        return ResponseEntity.status(HttpStatus.BAD_REQUEST)
            .body("error");
    }
}

Примечание: у меня есть другой класс, такой как B, который я хочу обрабатывать по-разному для класса B.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...