java - 当无效值作为实体类型传递时如何返回自定义错误消息?
问题描述
我有一个具有数字属性的实体类型,如果 API 的用户在他们的请求中为该属性传递了一个无效数字,我会收到 400 Bad Request JSON 错误(这很好),但在错误消息中,显示堆栈跟踪。我想更改此行为,以便可以提供自定义消息。如何才能做到这一点?
解决方案
解决此问题的可能解决方案是使用应用程序级错误代码。它将在每种情况下仅指示一个错误。例如,您可以保留错误代码 3,
{
“status _code”:400,
“reason_phrase”:”JSON 400 error”,
“error_code”: 3
}
当有人使用浏览器测试 API 时,Status_code 和 reason_phrase 字段会很有帮助,客户端可以通过检查错误代码字段来找出到底出了什么问题。
另一种可能适合的方法是使用基于资源的错误代码,您可以对每个错误代码使用字符串前缀,并且该前缀由资源确定。例如:
{
“status _code”:400,
“reason_phrase”:”JSON 400 error”,
“error_code”:”big_error”
}
为了能够提供与错误代码相对应的自定义错误消息,请执行以下操作:
{
“status_code”:400,
“reason_phrase”:”bad request”
“Error_code”:”error_code_that_needs_be_handled_by_custom_message”
“error_message”:”put the custom message over here”
}
以下链接中提供了处理错误的代码以及更多信息和说明,它将详细解释 Java 处理错误。我很确定它会帮助你。
谢谢!
推荐阅读
- android - 如何将linearlaout xml文件合并到撰写文件中?
- netlogo - Netlogo:如何给海龟设置不同的颜色?
- javascript - 我正在使用 useEffect 来点击 api 并返回一些响应来显示它。为什么会发生这个错误
- winapi - WinApi:CreateFile() 长时间挂起,试图在 Linux 网络客户端上打开 PIPE
- java - JavaFX 应用程序线程内存不足错误:Java 堆空间
- wordpress - 使用简单重定向反向 Wordpress 301 重定向
- swift - 切换屏幕时,我的 NSWindow 的阴影被切断了?
- xml - XSLT如何在从属性创建期间跳过一些元素
- arrays - 在 Spark Dataframe 中根据 Condition 创建一个新列
- java - FROM 子句中未定义标识变量“TO_DATE”