Class MinimalErrorDisclosurePolicy

java.lang.Object
io.leandev.appfuse.error.MinimalErrorDisclosurePolicy
All Implemented Interfaces:
ErrorDisclosurePolicy

public final class MinimalErrorDisclosurePolicy extends Object implements ErrorDisclosurePolicy

只輸出呼叫端採取行動所需之穩定錯誤投影的應用政策範例。

本類別不修改框架的例外傳遞;完整診斷仍一路保留到 response 邊界,只在最後一步選擇最小投影。

  • Constructor Details

    • MinimalErrorDisclosurePolicy

      public MinimalErrorDisclosurePolicy()
  • Method Details

    • disclose

      public org.springframework.http.ProblemDetail disclose(org.springframework.http.ProblemDetail detailed, org.springframework.http.ProblemDetail minimal, Throwable cause)
      Description copied from interface: ErrorDisclosurePolicy
      選擇並補充最終對外錯誤。
      Specified by:
      disclose in interface ErrorDisclosurePolicy
      Parameters:
      detailed - 完整技術錯誤投影
      minimal - 最小穩定錯誤投影
      cause - 原始例外;沒有例外的拒絕情境可為 null
      Returns:

      最終寫入 HTTP response 的 ProblemDetail

      實作可直接改寫傳入的 detailedminimal;因此 exception mapper 與呼叫端必須為每個 request 建立新的 ProblemDetail,不可回傳或重用共用實例。框架內建的最大揭露政策另會先 複製 detailed,避免第三方 mapper 意外共享物件時造成跨 request 汙染。