簡體   English   中英

將屬性值注入@ResponseStatus 注解

[英]Inject property value into @ResponseStatus annotation

在我的微服務 Spring Boot 項目中,我使用 @ResponseStatus 注釋了這個自定義異常:

@ResponseStatus(code = HttpStatus.NOT_FOUND, reason = "${message.custom.notFound}")
public class MyCustomAnnotation extends RuntimeException

它工作得很好:當引發異常時,我的控制器返回指定的狀態(404),但原因沒有解決(錯誤消息是“${message.custom.notFound}”)。

您知道是否有辦法將屬性文件中的屬性注入此注釋中嗎?

提前致謝

首先在構造函數中定義消息參數:

@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);
    }

}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM