【问题标题】:Spring Boot @ControllerAdvice @ExceptionHandler content type via an annotationSpring Boot @ControllerAdvice @ExceptionHandler 内容类型通过注解
【发布时间】:2021-01-05 15:21:59
【问题描述】:

我知道例如可以通过注解设置状态:

@ExceptionHandler(MyException.class)
@ResponseStatus(HttpStatus.BAD_REQUEST)
public String handleMyException(MyException myException) {
    return myException.getMessage();
}

我知道我可以使用适当的内容类型创建ResponseEntity,如下所示:

@ExceptionHandler(MyException.class)
public ResponseEntity<String> handleMyException(MyException myException) {
    return ResponseEntity
        .badRequest()
        .header(HttpHeaders.CONTENT_TYPE, MediaType.TEXT_PLAIN_VALUE)
        .body(myException.getMessage());
}

是否可以仅通过注解来设置内容类型,例如:

@ExceptionHandler(MyException.class)
@ContentType(MediaType.TEX_PLAIN_VALUE)
public String handleMyException(MyException myException) {
    return myException.getMessage();
}

我找不到可以做到这一点的注释。

【问题讨论】:

    标签: spring spring-boot spring-mvc


    【解决方案1】:

    根据 spring 文档(对于启动也是如此),您只能使用 ExceptionHandler 设置 @ResponseStatus 注释。

    https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/web/bind/annotation/ExceptionHandler.html

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-05-22
      • 1970-01-01
      • 1970-01-01
      • 2020-06-05
      • 2021-03-24
      • 2018-04-07
      • 1970-01-01
      • 2013-04-16
      相关资源
      最近更新 更多