首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  程序员

采取 RESTful 风格的 api 是否应该对结果包一层?

  •  
  •   h82258652 · 22 天前 · 14279 次点击

    RT,今天公司的新项目开始对接,app 端的一看我这接口就吐槽我。让我改成如下这种: { "code": 200, "message": "", "data": xxx }

    但我觉得首先这 code 肯定是多余的,可以直接从 http 状态码里面读取。之前也看过 twitter 的 api,也没有说包一层,200 的话那就直接返回 data 了。 公司项目我就忍忍算了,毕竟人家老员工。但后面有自己项目的话,还是想弄标准一点。不知道一般来说,大家是怎样实现?

    305 回复  |  直到 2019-10-24 10:47:14 +08:00
    1  2  3  4  
        301
    no1xsyzy   20 天前
    @icris #293 生态系统割裂啊,fetch 是只要有(完整?)数据回来,就是走 then 的,只有连 status code 都没有才是 catch。
        302
    gscoder   20 天前
    需要,http 的几个状态码完全满足不了稍微复杂的业务。。我们只是业务状态码就从 1001 排到了 9999
        303
    Woood   20 天前
    @markgor 最后那句除了百度和 360 还要包括腾讯
        304
    markgor   19 天前
    @Woood 騰訊我不好說,畢竟吃人嘴軟拿人手短;反正我也不接觸騰訊遊戲,就微信和 QQ 這兩方面,我覺得還算好吧。唯一貢獻給騰訊的只有綠磚和 qq 會員了。不過騰訊雲,有點坑。
        305
    Elietio   19 天前
    业务 code 还是有必要的
    我们最近的项目是这样做法,http code+业务 code,
    http code 200,业务 code 0 表示处理成功
    http code 40X, 返回具体的业务 code 表示客户端请求错误,一般是鉴权、参数校验不通过
    http code 50X,同上,表示服务端错误,服务处理的错误和异常
    另外 nginx 之类的反代要注意是否有对不同 http code 做了处理,否则非 200 响应可能会返回默认错误页面
    1  2  3  4  
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   1052 人在线   最高记录 5043   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 26ms · UTC 19:00 · PVG 03:00 · LAX 11:00 · JFK 14:00
    ♥ Do have faith in what you're doing.