软件开发中常说的RESTful风格API究竟是什么

软件开发中常说的RESTful风格API究竟是什么?

软件编程指南 2018-07-03 06:44:00

一说到REST,我想大家的第一反应就是“啊,就是那种前后台通信方式。”但是在要求详细讲述它所提出的各个约束,以及如何开始搭建REST服务时,却很少有人能够清晰地说出它到底是什么,需要遵守什么样的准则。在您将看到的这一篇文章中,我们将对REST,尤其是基于HTTP的REST服务进行详细地介绍。通过这些文章,您不仅可以了解到什么是REST,更能清晰地了解到您在编写REST服务时所需要遵守的各个守则,设计RESTful API时需要考虑的各种因素以及实现过程中可能遇到的问题等内容。

目录

  1. Rest关键词解释
  2. REST概念
  3. REST遇到的问题及示例
  4. 总结

一. Rest关键词解释

  1. REST(Representational State Transfer):表述性状态转移
  2. Rest是web服务的一种架构风格,一种轻量级,跨平台,跨语言的架构设计;

二. Rest概念

在RESTful架构中,每个网址代表一种资源(resource),所有网址请求接口中不能有动词,只能有名词,这点和数据库设计风格很像。

那么可能有同学会问了?动词怎么来表示呢?

常用的HTTP动词有五个,对应sql中命令。也就是说我们定义接口url中一般不会出现动词,都是使用名词,而动词使用HTTP请求方式来表示。

  • GET(SELECT):从服务器取出资源(一项或多项)。
  • POST(CREATE):在服务器新建一个资源。
  • PUT(UPDATE):在服务器更新资源(客户端提供改变后的完整资源)。
  • PATCH(UPDATE):在服务器更新资源(客户端提供改变的属性)。
  • DELETE(DELETE):从服务器删除资源。
软件开发中常说的RESTful风格API究竟是什么?
软件开发中常说的RESTful风格API究竟是什么?

三. REST遇到的问题

复数形式怎么表示?

版本怎么表示(演示中我们参考github的风格)?

其实一般互联网技术类公司都有自己的风格,这个参考就好

例子

  • GET /zoos:列出所有动物园
  • POST /zoos:新建一个动物园
  • GET /zoos/ID:获取某个指定动物园的信息
  • PUT /zoos/ID:更新某个指定动物园的信息(提供该动物园的全部信息)
  • PATCH /zoos/ID:更新某个指定动物园的信息(提供该动物园的部分信息)
  • DELETE /zoos/ID:删除某个动物园
  • GET /zoos/ID/animals:列出某个指定动物园的所有动物
  • DELETE /zoos/ID/animals/ID:删除某个指定动物园的指定动物

总结

当你看到这里,这边文章已经讲完了,相信你已经,对什么是Restful风格已经有一个自己的概念。但是小编还是要强调一点的是。请务必记住: REST是一种跨平台、跨语言的架构风格。而不是已经技术。所以对于刚入行的开发者,请千万不要害怕。其实就这么简单。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 译者:知秋(极乐科技专栏作者)来源:https://zhuanlan.zhihu.com/p/24592119 当...
    极乐君阅读 4,937评论 0 14
  • RESTful架构 互联网软件:即网站,一种新型的软件,采用客户端/服务器模式,建立在分布式体系上,通过互联网通信...
    零一_fb4d阅读 2,187评论 0 0
  • 文章导读: 网络应用程序,分为前端和后端两个部分。当前的发展趋势,就是前端设备层出不穷(手机、平板、桌面电脑、其他...
    创造new_world阅读 1,930评论 0 0
  • 一、API API -- Application Programming Interface,即应用程序编程接口。...
    AlleniCode阅读 3,269评论 0 0
  • 今天看书,无意间看到了这几个字,心有所想,感觉说的很在理。我们生活中有很多的事儿,需要慢慢的一步一步来,忙里忙慌的...
    心叙杨麟阅读 2,669评论 2 7