在我的微服务 Spring Boot 项目中,我用 @ResponseStatus 注释了这个自定义异常:
@ResponseStatus(code = HttpStatus.NOT_FOUND, reason = "${message.custom.notFound}")
public class MyCustomAnnotation extends RuntimeException
而且效果很好:当引发异常时,我的控制器返回指定的状态 (404),但原因未解决(错误消息为“${message.custom.notFound}”)。
你知道有没有办法将属性文件中的属性注入到这个注解中?
提前致谢
答案 0 :(得分:0)
首先在构造函数中定义消息参数:
@ResponseStatus(HttpStatus.NOT_FOUND)
public class MyCustomAnnotation extends RuntimeException {
public MyCustomAnnotation(String message) {
super(message);
}
}
然后像这样在控制器服务中使用:
@RestController
public class MainController {
@Value($value.from.properties)
private String value;
@PostMapping("/api")
public ResponseEntity send(@RequestBody requestBody) {
throw new MyCustomAnnotation(value);
}
}