簡體   English   中英

錯誤響應中的“消息”字段為空 Spring 引導

[英]“message” field is empty in error response Spring Boot

我已經處理過這樣的未經授權的異常

@ResponseStatus(value= HttpStatus.UNAUTHORIZED)
public class UnauthorizedException extends RuntimeException {
    public UnauthorizedException(String message) {
        super(message);
    }
}

但是當我拋出錯誤如下

throw new UnauthorizedException("Invalid credentials");

我在響應中得到空的錯誤消息,如下所示

{
    "timestamp": "2020-05-27T13:44:58.032+00:00",
    "status": 401,
    "error": "Unauthorized",
    "message": "",
    "path": "/auth/register"
}

我嘗試使用,

throw new ResponseStatusException(HttpStatus.UNAUTHORIZED, "Invalid credentials");

但結果還是一樣。 當我添加spring-boot-devtools依賴項時,我也按預期收到了帶有堆棧跟蹤的消息。 我怎樣才能解決這個問題?

Spring 版本:2.3.0 Java 版本:11.0

好的,他們已將 server.error.include-message 的默認值更改為“never”(請參閱此處的評論部分: Spring 2.3.0 Release Info

此處列出了所有默認值: Spring 引導參考文檔

只需像這樣配置您的 application.yaml (或屬性)。

server:
  error:
    include-message: always
    include-binding-errors: always

請注意,顯示錯誤消息可能會泄露有關您的服務器實現的信息。

暫無
暫無

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

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