gpt4 book ai didi

rest - CakePHP 3.x REST API-调试关闭时的自定义错误消息

转载 作者:行者123 更新时间:2023-12-03 08:22:34 25 4
gpt4 key购买 nike

我有一个连接到CakePHP 3.x后端的基于AngularJS的单页应用程序。 CakePHP在这里就像一个REST API。

在app.php中打开调试时,通过异常引发的错误消息将正确返回,并可以在前端显示为有意义的消息。
示例:“密码不匹配。”

但是,在关闭调试的情况下,仅返回与HTTP状态代码关联的默认错误消息。
示例:“内部服务器错误”

如何确保完整和完整的错误消息发送到前端?

谢谢。

最佳答案

适当时使用HttpException

默认情况下,CakePHP的异常渲染器仅在启用 Debug模式或异常类型为\Cake\Http\Exception\HttpException的情况下才使用异常的消息-适当时使用它(分别由内核提供的子类之一)!

例如,对于您的身份验证失败的特定示例,应使用\Cake\Http\Exception\ForbiddenException,它映射到HTTP 403错误。从HTTP Angular 来看,这是正确的做法,并且还可以解决吞下自定义消息的问题。

另请参见 API > \Cake\Http\Exception\HttpException

使用自定义异常渲染器

创建自定义/扩展的异常渲染器以渲染API响应的自定义格式也很常见。例如,如果您想提交验证错误,该错误通常成组出现,甚至以嵌套的方式出现。

例如,参见 CakePHP 3: Exception handling / serialization in a RESTful API

关于rest - CakePHP 3.x REST API-调试关闭时的自定义错误消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53152377/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com