什么是RESTful风格的API
一、含义
什么是restful,引用百度百科中的解释就是:一种软件架构风格、设计风格,而不是标准,只是提供了一组设计原则和约束条件。它主要用于客户端和服务器交互类的软件。基于这个风格设计的软件可以更简洁,更有层次,更易于实现缓存等机制。
二、传统API和RESTfulAPI有何差异
传统API | RESTfulAPI | |||
查询 | /user/query?name=hu | GET | /user?name=hu | GET |
删除 | /user/delete?id = 1 | GET | /user/1 | DELETE |
修改 | /user/update?id=1&name=liu | POST | /user/1 | PUT |
新增 | /user/create?name=tom | POST | /user | POST |
1.传统的接口用URL来描述行为,RESTful用url来描述资源,针对的是资源。从上面表中可以看出,传统API就是在url中去定义行为,从路径中可以看出这个API是做的什么操作;而RESTfulAPI的url是用来描述资源,id=1的user是一个资源,假设我们的数据库中有100个user对象,就对应着100个资源。
2.使用HTTP方法来描述行为。使用HTTP状态码来表示不同的结果。RESTful API是用HTTP的方法来描述行为,GET——请求表示查询,DELETE——请求表示删除,PUT——请求表示修改,POST——请求表示新增;传统的API接口,不论调用成功与否,返回的状态码可能都是200,只是在返回的数据中,有某个字段判断是否调用成功;而RESTfulAPI是通过HTTP状态码来表示不同的结果,比如:200——表示调用成功,400——表示调用失败,500——表示异常等。
3.使用json交互数据。传统的API可能使用字符串拼接,可能使用xml等各种形式进行数据的交换;而在RESTful API中都是使用json进行数据的交互。
4.restful只是一种风格,并不是强制的标准。RESTful只是一种风格,就好像在生活中的道德约束一样,走路闯红灯是不对的,但是你偶尔闯了红灯,也不会有警察抓你。
三、RESTful成熟度图
一般在项目都是用到了Level2的级别,线上项目中还未见到有Level3级别的。
什么是RESTful风格的API相关推荐
- mysql例子 restful_Gin实战:Gin+Mysql简单的Restful风格的API
我们已经了解了Golang的Gin框架.对于Webservice服务,restful风格几乎一统天下.Gin也天然的支持restful.下面就使用gin写一个简单的服务,麻雀虽小,五脏俱全.我们先以一 ...
- restful风格_什么是RESTful风格的API设计?
随着移动互联网的兴起,RESTful风格的API设计也随之流行起来,但我们说了那么多RESTful设计,它到底是什么?本篇文章带大家来了解一下它的真实面目. RESTful概念 首先,我们需要明确的是 ...
- php yii2 api框架,Yii2框架制作RESTful风格的API快速入门教程
先给大家说下什么是REST restful REST全称是Representational State Transfer,中文意思是表述(编者注:通常译为表征)性状态转移. 它首次出现在2000年Ro ...
- 什么是RESTful风格的API设计?
随着移动互联网的兴起,RESTful风格的API设计也随之流行起来,但我们说了那么多RESTful设计,它到底是什么?本篇文章带大家来了解一下它的真实面目. RESTful概念 首先,我们需要明确的是 ...
- Gin实战:Gin+Mysql简单的Restful风格的API
我们已经了解了Golang的Gin框架.对于Webservice服务,restful风格几乎一统天下.Gin也天然的支持restful.下面就使用gin写一个简单的服务,麻雀虽小,五脏俱全.我们先以一 ...
- RESTful风格的API设计
RESTful风格的API设计 1.你怎么理解 RESTful 2000 年,Roy Thomas Fielding 博士在他那篇著名的博士论文<Architectural Styles and ...
- restful 风格 web api规范
协议:http/https 域名 : http://api.example.com/xxx/xxx api: 标明api接口服务 xxx: 服务 xxx: 资源 版本控制: 一.使用MediaType ...
- RESTFul风格的API管理后台,基于Thymeleaf和layui
项目介绍 一款 Java 语言基于 SpringBoot2.x.Layui.Thymeleaf.MybatisPlus.Shiro.MySQL等框架精心打造的一款模块化.插件化.高性能的前后端分离架构 ...
- java restful接口开发实例_实战:基于Spring Boot快速开发RESTful风格API接口
写在前面的话 这篇文章计划是在过年期间完成的,示例代码都写好了,结果亲戚来我家做客,文章没来得及写.已经很久没有更新文章了,小伙伴们,有没有想我啊.言归正传,下面开始,今天的话题. 目标 写一套符合规 ...
- SpringBoot2.1.5(39)--- 开发restful 风格Api
SpringBoot 实现RestFul 相关注解的介绍 如果说你会使用SpringMVC 那么下面的内容你阅读将会很轻松,我这里通过搭建一个用户管理 接口API 让你快速学会如何创建restful ...
最新文章
- AR/VR逐渐回暖 联合安防步入未来
- java--jdbc
- AMUL的完整形式是什么?
- 好看的个人介绍引导页PHP源码
- 05_视图控制器_1
- 图像算法七:【形态学图像处理】二值运算、膨胀、腐蚀
- 深度学习优化器演化史
- 阿里最新分享Redis全套学习笔记PDF版,图文并茂,太详细了
- OpenCV:计算三角形的角度
- css中的相对定位、绝对定位、固定定位
- 客户端到服务器端的通信过程及 原理图很好
- Oracle EBS Interface/API(13)-MRP Forcast 创建预测名称和预测物料导入
- iOS运行时Runtime浅析
- 实现windows与ubuntu的之间的复制与粘贴
- 给 iOS 开发者的 Flutter 指南
- 移动魔百盒M304A救砖、线刷教程(附固件)
- 微博图片作者识别功能,找到发图的人
- 华为HCNA实验22-RIPv2认证
- 简单步骤,使用 Android studio 实现保存 QQ 账号密码,和简易 QQ 用户登录界面
- Python 微波辐射计画图
热门文章
- 全程回顾 Blazor Day in China 精彩分享
- FDMA/TDMA信号分析 IP core
- 魔兽对战平台官网地图《小兵合成》 最强攻略+合成表+隐藏合成+隐藏英雄+
- chrome扩展程序安装_如何将扩展程序从一个Chrome安装复制到另一个安装?
- Jaca 有n个整数,使其前面各数顺序向后移m个位置,最后m个数变成最前面的m个数
- 不一样的类小草图形写法
- ora-29861: 域索引标记为loading/failed/unusable
- html访问域名跳转,根据访问的域名跳转到指定目录的代码
- Springboot 整合百度地图 API
- org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':app:processDebugManifest