restfulapi接口 优缺点(软件开发中常说的RESTful风格API究竟是什么)
restfulapi接口 优缺点(软件开发中常说的RESTful风格API究竟是什么)当你看到这里,这边文章已经讲完了,相信你已经,对什么是Restful风格已经有一个自己的概念。但是小编还是要强调一点的是。请务必记住: REST是一种跨平台、跨语言的架构风格。而不是已经技术。所以对于刚入行的开发者 请千万不要害怕。其实就这么简单。例子复数形式怎么表示?版本怎么表示(演示中我们参考Github的风格)?其实一般互联网技术类公司都有自己的风格 这个参考就好
一说到REST,我想大家的第一反应就是“啊,就是那种前后台通信方式。”但是在要求详细讲述它所提出的各个约束,以及如何开始搭建REST服务时,却很少有人能够清晰地说出它到底是什么,需要遵守什么样的准则。在您将看到的这一篇文章中,我们将对REST,尤其是基于HTTP的REST服务进行详细地介绍。通过这些文章,您不仅可以了解到什么是REST,更能清晰地了解到您在编写REST服务时所需要遵守的各个守则,设计Restful API时需要考虑的各种因素以及实现过程中可能遇到的问题等内容。
目录- Rest关键词解释
- REST概念
- REST遇到的问题及示例
- 总结
- REST(Representational State Transfer):表述性状态转移
- Rest是web服务的一种架构风格 一种轻量级 跨平台 跨语言的架构设计;
在RESTful架构中,每个网址代表一种资源(resource),所有网址请求接口中不能有动词,只能有名词 这点和数据库设计风格很像。
那么可能有同学会问了?动词怎么来表示呢?
常用的HTTP动词有五个 对应sql中命令。也就是说我们定义接口url中一般不会出现动词,都是使用名词 而动词使用HTTP请求方式来表示。
- GET(SELECT):从服务器取出资源(一项或多项)。
- POST(CREATE):在服务器新建一个资源。
- PUT(UPDATE):在服务器更新资源(客户端提供改变后的完整资源)。
- PATCH(UPDATE):在服务器更新资源(客户端提供改变的属性)。
- DELETE(DELETE):从服务器删除资源。
复数形式怎么表示?
- https://api.example.com/v1/zoos
- https://api.example.com/v1/animals
- https://api.example.com/v1/employees
版本怎么表示(演示中我们参考Github的风格)?
其实一般互联网技术类公司都有自己的风格 这个参考就好
- https://developer.github.com/v3/media/#request-specific-version (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是一种跨平台、跨语言的架构风格。而不是已经技术。所以对于刚入行的开发者 请千万不要害怕。其实就这么简单。
但是虽然说很概念简单,其实用好并不容易,需要大量的web开发经验 为什么这么说呢?其实有些坑对与刚入行的developer来说 是永远绕不过去的坑。因为没有经历过,始终不会明白为啥会这么做,只有经历过了才真正明白其这样设计的道理。而小编做的就是尽量让你少走些坑。或者说遇到这些坑如何去解决。总归到底,千万不要怕,怕是解决不了问题的,一个字,就是:干!孰能生巧做多了就熟练了。