一、含义

什么是restful,引用百度百科中的解释就是:一种软件架构风格、设计风格,而不是标准,只是提供了一组设计原则和约束条件。它主要用于客户端和服务器交互类的软件。基于这个风格设计的软件可以更简洁,更有层次,更易于实现缓存等机制。

二、传统API和RESTfulAPI有何差异

传统api和RESTful API对比
  传统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相关推荐

  1. mysql例子 restful_Gin实战:Gin+Mysql简单的Restful风格的API

    我们已经了解了Golang的Gin框架.对于Webservice服务,restful风格几乎一统天下.Gin也天然的支持restful.下面就使用gin写一个简单的服务,麻雀虽小,五脏俱全.我们先以一 ...

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

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

  3. php yii2 api框架,Yii2框架制作RESTful风格的API快速入门教程

    先给大家说下什么是REST restful REST全称是Representational State Transfer,中文意思是表述(编者注:通常译为表征)性状态转移. 它首次出现在2000年Ro ...

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

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

  5. Gin实战:Gin+Mysql简单的Restful风格的API

    我们已经了解了Golang的Gin框架.对于Webservice服务,restful风格几乎一统天下.Gin也天然的支持restful.下面就使用gin写一个简单的服务,麻雀虽小,五脏俱全.我们先以一 ...

  6. RESTful风格的API设计

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

  7. restful 风格 web api规范

    协议:http/https 域名 : http://api.example.com/xxx/xxx api: 标明api接口服务 xxx: 服务 xxx: 资源 版本控制: 一.使用MediaType ...

  8. RESTFul风格的API管理后台,基于Thymeleaf和layui

    项目介绍 一款 Java 语言基于 SpringBoot2.x.Layui.Thymeleaf.MybatisPlus.Shiro.MySQL等框架精心打造的一款模块化.插件化.高性能的前后端分离架构 ...

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

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

  10. SpringBoot2.1.5(39)--- 开发restful 风格Api

    SpringBoot 实现RestFul 相关注解的介绍 如果说你会使用SpringMVC 那么下面的内容你阅读将会很轻松,我这里通过搭建一个用户管理 接口API 让你快速学会如何创建restful ...

最新文章

  1. AR/VR逐渐回暖 联合安防步入未来
  2. java--jdbc
  3. AMUL的完整形式是什么?
  4. 好看的个人介绍引导页PHP源码
  5. 05_视图控制器_1
  6. 图像算法七:【形态学图像处理】二值运算、膨胀、腐蚀
  7. 深度学习优化器演化史
  8. 阿里最新分享Redis全套学习笔记PDF版,图文并茂,太详细了
  9. OpenCV:计算三角形的角度
  10. css中的相对定位、绝对定位、固定定位
  11. 客户端到服务器端的通信过程及 原理图很好
  12. Oracle EBS Interface/API(13)-MRP Forcast 创建预测名称和预测物料导入
  13. iOS运行时Runtime浅析
  14. 实现windows与ubuntu的之间的复制与粘贴
  15. 给 iOS 开发者的 Flutter 指南
  16. 移动魔百盒M304A救砖、线刷教程(附固件)
  17. 微博图片作者识别功能,找到发图的人
  18. 华为HCNA实验22-RIPv2认证
  19. 简单步骤,使用 Android studio 实现保存 QQ 账号密码,和简易 QQ 用户登录界面
  20. Python 微波辐射计画图

热门文章

  1. 全程回顾 Blazor Day in China 精彩分享
  2. FDMA/TDMA信号分析 IP core
  3. 魔兽对战平台官网地图《小兵合成》 最强攻略+合成表+隐藏合成+隐藏英雄+
  4. chrome扩展程序安装_如何将扩展程序从一个Chrome安装复制到另一个安装?
  5. Jaca 有n个整数,使其前面各数顺序向后移m个位置,最后m个数变成最前面的m个数
  6. 不一样的类小草图形写法
  7. ora-29861: 域索引标记为loading/failed/unusable
  8. html访问域名跳转,根据访问的域名跳转到指定目录的代码
  9. Springboot 整合百度地图 API
  10. org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':app:processDebugManifest