2
创建REST API错误响应模型和错误代码系统的最佳方法是什么?
我的REST实现将使用以下结构在JSON中返回错误: { "http_response":400, "dev_message":"There is a problem", "message_for_user":"Bad request", "some_internal_error_code":12345 } 我建议创建一个特殊的响应模型,在该模型中,我可以传递所需的属性值(dev_message,message_for_user,some_internal_error_code)并返回它们。在代码中将类似于以下内容: $responseModel = new MyResponseModel(400,"Something is bad", etc...); 此模型应如何显示?是否应该在仅传递文本信息的地方实现例如successResponse()这样的方法,并且那里的代码默认为200?我坚持这一点。这是我的问题的第一部分:我是否需要实现此模型,这是一种很好的做法吗?因为现在,我只是直接从代码返回数组。 第二部分是关于错误代码系统。错误代码将在文档中进行描述。但是我遇到的问题是代码。管理错误代码的最佳方法是什么?我应该在模型中编写它们吗?还是最好创建单独的服务来处理此问题? 更新1 我已经实现了响应的模型类。这类似于格雷格的答案,逻辑相同,但是另外,我在模型中对错误进行了硬编码,这是它的样子: class ErrorResponse { const SOME_ENTITY_NOT_FOUND = 100; protected $errorMessages = [100 => ["error_message" => "That entity doesn't exist!"]]; ...some code... } 我为什么要这样做?那又是为了什么呢? 代码看起来很酷: return new ErrorResponse(ErrorResponse::SOME_ENTITY_NOT_FOUND ); …