1 为什么要用restful接口风格

restful的风格其实是一种规范,用来规范我们在写接口时的命名,用于前端与后端、项目与项目之间来传递数据。restful可以使我们的接口更加简洁、快捷高效、透明。

简洁:使用restful接口规范会使我们的接口名称的长度会变得更短,从而更加的简单清爽。

快捷高效:不管是前端的开发人员还是后端的开发人员,都可以根据接口的名称来得到接口的含义,进而也可以降低沟通成本。

透明:由于使用了restful接口风格来编程,又因为它是面向资源来写接口的,所以,后端的程序架构会很清晰透明。

2 restful风格的特点

2.1 约定大于配置

restful风格的接口设计被提出的很早,随着时间的演进它逐渐的被人们认可,这样使用确实更加的方便快捷,所以自然而然的也就流传了起来。随着使用越来越多,所以逐渐人们对接口的认识就变得统一了起来,就像resource文件夹里面装的是配置文件一样,我们约定俗称了restful接口的风格就是这样来写的,所以,我们也就达到了一个理想的状态:看到接口的uri,就能知道接口的功能

2.2 无状态性

restful风格的接口依旧有着无状态性的特点,不管是何时从哪发送到哪,它的结果都是不变的,也不需要考虑上下文的状态。返回的状态和http请求的状态相同,符合http的状态码规范。

2.3 面向资源

restful风格的所有接口都是面向资源的,这样我们对于接口也更清晰明确它的功能。

3 restful风格是什么样的

3.1 restful的规范

一般来说,不同的请求类型对应着不同的操作
POST:添加
DELETE:删除
GET:查询
PUT:修改

查询某个国家中的城市

GET
http://localhost:8080/country/1/city/2

添加城市

POST
http://localhost:8080/city   添加的参数全部都写在body中

删除某个城市

DELETE
http://localhost:8080/city/2

修改某个城市

PUT
http://localhost:8080/country/1/city/2      修改的参数全部都写在body中

对于PUT和PATCH,PUT更新整个资源,具有幂等性,PATCH只更新部分资源,不具有幂等性。

如果有过于复杂的参数,更倾向于向后连接参数

过滤条件
?type=1&age=16    排序
?sort=age,desc  投影
?whitelist=id,name,email    分页
?limit=10&offset=3

3.2 常用的几种状态码

状态代码 状态描述 说明
200 OK 客户端请求chengg
400 Bad Request 请求的url和接口的url有错误
401 Unauthorized 权限不足
403 Forbidden 服务器可能受到请求,但是不能解析
404 Not Found 页面不存在
500 Internal Server Error 后端处理的程序用出错
503 Service Unavailable 服务器问题

4 多说几句

  1. restful风格的接口规范不是确定的,不同的公司或者不同的人对它的理解都不尽然相同,但是从总体上来说他是简单易懂的,尽最大的努力在接口中体现出来含义。
  2. 不要贸然将接口的规范直接修改为restful风格,它有它的好处,但是要注意成本,不要意气用事。
  3. 修改必然要付出代价。

5 追加参考部分

https://my.oschina.net/jumpLee/blog/1529137

restful风格的接口设计相关推荐

  1. restful风格_什么是RESTful风格的API设计?

    随着移动互联网的兴起,RESTful风格的API设计也随之流行起来,但我们说了那么多RESTful设计,它到底是什么?本篇文章带大家来了解一下它的真实面目. RESTful概念 首先,我们需要明确的是 ...

  2. 什么是RESTful风格的API设计?

    随着移动互联网的兴起,RESTful风格的API设计也随之流行起来,但我们说了那么多RESTful设计,它到底是什么?本篇文章带大家来了解一下它的真实面目. RESTful概念 首先,我们需要明确的是 ...

  3. SpringBoot开发Restful风格的接口实现CRUD功能

    一.前言 我们都知道SpringBoot的出现使得在开发web项目的时候变得更加方便.快捷.之前写过一篇文章是如何快速搭建一个springboot项目:SpringBoot入门:使用IDEA和Ecli ...

  4. RESTful风格的API设计

    RESTful风格的API设计 1.你怎么理解 RESTful 2000 年,Roy Thomas Fielding 博士在他那篇著名的博士论文<Architectural Styles and ...

  5. RESTful风格的接口

    普通接口设计 只用到get和post接口 接口的地址一般由动词+名词构成 每个接口的地址都不一样 例如: 接口名:localhost:8080/getarticle 类型:get 功能:获取文章信息 ...

  6. java restful接口开发实例_实战:基于Spring Boot快速开发RESTful风格API接口

    写在前面的话 这篇文章计划是在过年期间完成的,示例代码都写好了,结果亲戚来我家做客,文章没来得及写.已经很久没有更新文章了,小伙伴们,有没有想我啊.言归正传,下面开始,今天的话题. 目标 写一套符合规 ...

  7. 二十八、Node.js中的RESTful API和接口设计

    @Author:Runsen @Date:2020/6/9 人生最重要的不是所站的位置,而是内心所朝的方向.只要我在每篇博文中写得自己体会,修炼身心:在每天的不断重复学习中,耐住寂寞,练就真功,不畏艰 ...

  8. SpringBoot RestFul风格API接口开发

    本文介绍在使用springBoot如何进行Restful Api接口的开发及相关注解已经参数传递如何处理. 一.概念: REST全称是Representational State Transfer,中 ...

  9. restful api接口设计

    技术由来: 互联网早期,页面请求和并发量不高,且移动端未盛行时对接口要求不高,使用动态页面(jsp)就能满足绝大多数的使用需求.但是随着互联网和移动设备的发展,人们对Web应用的使用需求也增加,传统的 ...

  10. 第一节:WebApi的纯原生态的RestFul风格接口和路由规则介绍

    一. 原生态接口 1. 从默认路由开始分析 在WebApiConfig.cs类中的Register方法中,我们可以看到默认路由如下: 分析:请求地址在 controller 前面需要加上 api/,c ...

最新文章

  1. Java 2程序设计,Java2程序设计
  2. 【OpenCV 例程200篇】94. 算术平均滤波器
  3. 学习Java之前先学C语言
  4. go语言中省略号用法和参数
  5. 本特利3500_3500系统轴振信号异常波动问题浅析及建议
  6. 安徽出台医疗大数据应用发展实施意见
  7. Python反射和内置方法(双下方法)
  8. java jdk中优先队列的实现
  9. Hibernate XXX.hbm.xml 里的class标签的 schema 属性解释
  10. 冒泡排序 (Bubble Sort)
  11. 二进制文件和文本文件区别-小白笔记
  12. 管家婆 打开经营历程 Date exceeds maximum of 19-12-31报错解决
  13. html整人js代码大全,这几行 javascript 代码能让你的浏览器崩溃?
  14. Windows备份文件夹脚本.bat
  15. 面试|复习小册(2022-9)
  16. ADSL/光纤 双拨,多拨
  17. PYQT5安装时,labelImg执行pyrcc5 -o libs/resources.py resources.qrc 报错:File does not exist ‘resources.qrc‘
  18. python爬取豆瓣排行榜电影(静态爬取)(二次爬取)
  19. Error:(63, 20) Failed to resolve: com.github.chrisbanes:PhotoView:2.0.0
  20. 第三章-分支程序设计代码实例(C++蓝豹子)

热门文章

  1. AIC、BIC、QAIC及HQ准则
  2. STM32硬件剖析(STM32F407 定时器功能引脚分配)
  3. 华为监事会副主席丁耘长跑28公里后突发疾病去世,年仅53岁!
  4. 灰度共生矩阵纹理特征提取matlab,灰度共生矩阵纹理特征提取的Matlab实现
  5. ENVI纹理特征提取
  6. 驱动精灵卸载后无限蓝屏重启
  7. Codeforces1040B Shashlik Cooking
  8. iPhone 12 Pro测量人的身高竟然如此简单
  9. 「Wekan」- 看板工具 @20210403
  10. 一文帮你理解 Google SRE 体系