Gar*_*rin 1 api rest http response
我正在为Web应用程序内部的第三方api(电子邮件套件)构建一个包装器,可以通过内部和自己的api访问.例如,这些方法将电子邮件地址和订阅列表作为参数并返回结果代码.
基本上我想:
例如成功:
所有这些情况基本上都是2xx类别,但必须触发不同的用户反馈消息,这就是我对使用HTTP状态代码感到不满意的原因.使用纯HTTP状态代码不能提供足够详细的反馈并定义a)附加状态代码或b)完全自定义状态代码感觉如此随机.
那么,去这里的最佳做法是什么?
这个答案表明我应该总是使用标准的HTTP状态代码,如果它们不适用,我的设计是错误的.如果不在客户端使用额外的逻辑和api调用,我如何区分差异?
HTTP状态代码的目的是传达HTTP操作的状态- 成功,未授权,未决,配置错误等等.在您描述的所有情况中,请求的操作都是成功的 - 一切都按计划进行.因此,对于所有这些情况,最可能的状态代码是200 OK或201 CREATED.
其他特定于域的状态不应强行敲入HTTP状态.只需在回复中返回其他字段即可.例如:
POST http://www.example.com/users
{
name : "The User",
email : "email@theuser.com"
}
Run Code Online (Sandbox Code Playgroud)
回复将包含:
201 CREATED
{
status : "Optin mail sent",
timestamp : "...",
...
}
Run Code Online (Sandbox Code Playgroud)
这样可以更清晰地分离关注点并提高可扩展性.
| 归档时间: |
|
| 查看次数: |
54 次 |
| 最近记录: |