RESTful API 设计规范

作者: 清醒的cola | 来源:发表于2017-02-06 00:32 被阅读107次

一个架构符合REST(REpresentational State Transfer)原则,就称它为RESTful架构。

资源 (Resources)

URI (Uniform Resource Identifiers) 统一资源标示符

URI = scheme "://" authority "/" path [ "?" query ] [ "#" fragment ]

URI规范:

  • URI不包含动词,使用名词复数。
  • URI不使用大写。
  • URI层级不要太深。

URL(Uniform Resource Locator) 统一资源定位符(URI的实现)

对于REST API来说一个资源对应一个唯一的URI(URL)

表现(Representation)

HTTP请求的头信息中,用Accept和Content-Type标示。

状态转化(State Transfer)

  • GET:获取资源
    GET /zoos
    GET /zoos/1
    GET /zoos/1/employees
    GET /zoos/1/employeessortby=name&order=asc

  • POST:新建资源(也可以更新资源)
    POST /animals 新增动物
    POST /zoos/1/employees 新增动物园1雇员

  • PUT:更新单个资源 全量更新
    PUT /animals/1
    PUT /zoos/1

  • DELETE:删除资源
    DELETE /zoos/1/animals //删除id为1的动物园内的所有动物

常见异常返回码

  • 400 bad request 常用在参数校验
  • 401 unauthorized 未经验证的用户,常见于未登录。如果经过验证后依然没权限,应该 403(即 authentication 和 authorization 的区别)。
  • 403 forbidden 无权限
  • 404 not found 资源不存在
  • 500 internal server error 代码逻辑错误导致,比如数据库连接失败、空指针异常、除0错误

异步任务

由于互联网通信 高延时(high latency)、高并发等特点 异步任务派上大用场。

  1. 先返回任务创建成功
  2. 客户端轮询任务状态

规范是提高效率的利器

相关文章

  • 【Spring Boot】构建RESTful API——(二)

    一、RESTful API设计规范 参考知乎上的《RESTful API最佳实践》一文,总结的RESTful AP...

  • 2018-10-09

    百度Fex推荐 深阅读 RESTful API 最佳实践 RESTful 是目前最流行的 API 设计规范,用于 ...

  • 快速了解RESTful API URL 设计

    RESTful是目前最流行的 API 设计规范,也是各公司招聘面试的项目之一。因为我之前对 RESTful API...

  • [转载]app后端API开发总结

    app后端API开发总结 25 Jun 2015 一.API 设计规范 1.1 按需Restful设计原则 按业务...

  • API设计规范

    API设计规范(RESTful) 一、协议 采用HTTPs 二、域名 https:// example.org/a...

  • RestfulAPI规范

    Restful是目前最流行的API设计规范,用于Web数据接口的设计。 动词+宾语Restful的核心思想就是,客...

  • 13 RESTful API

    RESTful 是目前最流行的 API 设计规范,用于 Web 数据接口的设计REST,即Representati...

  • RESTful API设计规范

    RESTful API设计规范 1、域名, 2、路径, 3、版本, 4、状态码, 5、HTTP请求方式, 6、返回...

  • RESTful API

    RESTful 是目前最流行的 API 设计规范,用于 Web 数据接口的设计。本文参考 《REST和RESTf...

  • RESTful API 设计规范

    前言 网络应用程序,分为前端和后端两个部分。当前的发展趋势,就是前端设备层出不穷(手机、平板、桌面电脑、其他专用设...

网友评论

    本文标题:RESTful API 设计规范

    本文链接:https://www.haomeiwen.com/subject/xnryittx.html