专栏名称: java一日一条
主要是讲解编程语言java,并且每天都推送一条关于java编程语言的信息
目录
相关文章推荐
芋道源码  ·  Spring Boot 中使用 JSON ... ·  13 小时前  
芋道源码  ·  SQLite这么小众的数据库,到底是什么人在用? ·  13 小时前  
芋道源码  ·  Java面试,问八股文的面试官水平很次? ·  13 小时前  
芋道源码  ·  抱歉,最近我劝各位真的别轻易离职...... ·  昨天  
芋道源码  ·  一款轻便、安全、免费的远程桌面工具 ·  2 天前  
51好读  ›  专栏  ›  java一日一条

RESTful API 最佳实践

java一日一条  · 公众号  · Java  · 2017-03-14 14:11

正文

请到「今天看啥」查看全文


  • URI中的名词表示资源集合,使用复数形式;

  • 虽然/在URI中表达层级,但是避免为了追求REST导致层级过深,适当使用参数表示。

    GET /comments/tid/tid=1&page=1
  • 2. Request:通过标准HTTP方法对资源CRUD

    • GET:查询资源

      GET /comments //获取所有评论 GET /comments/tid/1 //获取文章tid为1的所有评论
    • POST:创建资源

      POST /comments/tid/1 //为tid为1的文章创建评论
    • PUT:更新资源

      PUT /comments/cid/like/1 //为cid为1的评论点赞
    • DELETE:删除资源

      DELETE /comments/cid/1 //删除cid为1的评论

    3. Response

    • 采用JSON,不要使用XML

    • 默认情况下JSON外层不需要嵌套大括号,API需要支持JSONP跨域访问或者客户端无法访问 HTTP Header 才需要加上嵌套大括号

    • 默认情况下不要过滤API输出中的空格,并且要支持gzip

    4. API版本控制

    • 在URI中存放:GET /v1/comments;

    • 客户端在Accept Header中存放:Accept: application/vnd.github.v3+json,服务器自定义Header返回当前版本信息:X-GitHub-Media-Type: github.v3; format=json(GitHub在用);

    • 以上两种方法根据情况选择,Github用的方式是REST中所要求的方式;

    • 测试API和正式API要进行区分,方式通过如上两种方式实现。







    请到「今天看啥」查看全文