资讯专栏INFORMATION COLUMN

认识Restful API

qylost / 2599人阅读

摘要:直接翻译的意思是表现层状态转化。它是一种互联网应用程序的设计理念定位资源,用动词描述操作。

Restful API

REST,即Representational State Transfer的缩写。直接翻译的意思是"表现层状态转化"。它是一种互联网应用程序的API设计理念:URL定位资源,用HTTP动词(GET,POST,DELETE,DETC)描述操作。

实现基础

近年来移动互联网的发展,前端设备层出不穷(手机、平板、桌面电脑、其他专用设备......),因此,必须有一种统一的机制,方便不同的前端设备与后端进行通信,于是RESTful诞生了,它可以通过一套统一的接口为 Web,iOS和Android提供服务。

常用的URL请求方式

HEAD(SELECT)只获取某个资源的头部信息

GET(SELECT)获取资源

POST(CREATE)创建资源

PATCH(UPDATE)更新资源的部分属性(很少用,一般用POST代替)

PUT(UPDATE)更新资源,客户端需要提供新建资源的所有属性

DELETE(DELETE)删除资源

状态码
状态码
字段名称为:code
200 OK [GET] 服务器成功返回用户请求的数据,该操作是幂等的(Idempotent)
201 CREATED [POST/PUT/PATCH] 用户新建或修改数据成功
202 ACCEPTED [*] 表示一个请求已经进入后台排队(异步任务)
204 NO CONTENT [DELETE] 用户删除数据成功
400 INVALID REQUEST [POST/PUT/PATCH] 用户发出的请求有错误,服务器没有进行新建或修改数据的操作,该操作是幂等的
401 UNAUTHORIZED [*] 表示用户没有权限(令牌、用户名、密码错误)
403 FORBIDDEN [*] 表示用户得到授权(与401错误相对),但是访问是被禁止的
404 NOT FOUND [*] 用户发出的请求针对的是不存在的记录,服务器没有进行操作,该操作是幂等的
406 NOT ACCEPTABLE [GET] 用户请求的格式不可得(比如用户请求JSON格式,但是只有XML格式)
410 GONE [GET] 用户请求的资源被永久删除,且不会再得到的
422 UNPROCESABLE ENTITY [POST/PUT/PATCH] 当创建一个对象时,发生一个验证错误
500 INTERNAL SERVER ERROR [*] 服务器发生错误,用户将无法判断发出的请求是否成功
注意

为了简便,在web设计中,有时候会统一"code:0"代表请求成功,"code:1"代表请求失败,状态码为0,对应返回data字段,状态码为1对应返回message字段.

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/73604.html

相关文章

  • Swagger 生成 PHP restful API 接口文档

    摘要:需求和背景需求为客户端同事写接口文档的各位后端同学已经在各种场合回忆了使用自动化文档工具前手写文档的血泪史我的故事却又不同因为首先来说我在公司是组负责人属于上述血泪史中催死人不偿命的客户端阵营但血泪史却是相通的没有自动化文档的日子对接口就是 需求和背景 需求: 为客户端同事写接口文档的各位后端同学,已经在各种场合回忆了使用自动化文档工具前手写文档的血泪史.我的故事却又不同,因为首先来说...

    xiaotianyi 评论0 收藏0
  • #yyds干货盘点#带你统一认识一下系统架构及分析和总结

    摘要:缺点系统依赖复杂,给开发测试部署带来不便,分布式数据一致性和分布式事务支持困难,一般通过最终一致性简化解决。微服务架构分成三种实现模式。事件驱动架构事件是状态发生变化时,软件发出的通知。事件驱动架构的四个部分事件队列接收事件的入口。 架构的规划谁架构就是对系统中的实体以及实体之间的关系所进行的抽象描述,是决策。...

    warkiz 评论0 收藏0
  • GraphQL:一种更高效、强大和灵活的数据提供方式

    摘要:我们知道是一种从服务器公开数据的流行方式。描述所有的可能类型系统基于类型和字段的方式进行组织,而非入口端点。因此,需要对后端进行调整,以满足新的数据需求,这会降低生产力并显著降低将用户反馈集成到产品中的能力。 showImg(https://segmentfault.com/img/remote/1460000017875905?w=2234&h=974); 在前几天的《StateOf...

    waruqi 评论0 收藏0
  • GraphQL:一种更高效、强大和灵活的数据提供方式

    摘要:我们知道是一种从服务器公开数据的流行方式。描述所有的可能类型系统基于类型和字段的方式进行组织,而非入口端点。因此,需要对后端进行调整,以满足新的数据需求,这会降低生产力并显著降低将用户反馈集成到产品中的能力。 showImg(https://segmentfault.com/img/remote/1460000017875905?w=2234&h=974); 在前几天的《StateOf...

    zzbo 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<