我可以在 Java 中扩展 App Engine Standard 错误 JSON 吗?



App Engine 管理在 Cloud Endpoint 上作为错误 JSON 返回的内容。当我扔出谷歌提供的ServiceException时,我会statusCode传递它并statusMessage

public ServiceException(int statusCode, String statusMessage) {
super(statusMessage);
this.statusCode = statusCode;
this.reason = null;
this.domain = null;
}

然后,App Engine 会在错误响应中将此 JSON 返回给调用方:

{
"error": {
"errors": [
{
"domain": "global",
"reason": "required",
"message": "The statusMessage I gave it."
}
],
"code": 401,
"message": "The statusMessage I gave it."
}
}

我想用一个额外的字段来扩展响应,例如,对于一个应用程序错误代码,它告诉客户端出了什么问题(消息应该是人类可读的)。

我对Java servlet及其内部工作原理没有那么深入,但是我尝试捕获响应并对其进行修改,这对于200响应有效,但不适用于错误响应。有什么想法吗?

根据你的请求,我建议你看看ServiceException类在Java端点框架上是如何工作的。

在这里,您可以检查异常的处理方式,并在此基础上扩展返回的错误 JSON 以满足您的需求,也就是说,任何人都可以理解他的运行失败的原因。

相关内容

最新更新