如何在Java中使用RESTful接口?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。
一、什么是API
<强> API(应用程序编程接口)强>两种用法
1。类似jar的使用:一个软件将功能打包成组件(功能块:比如Java中的jar),让B软件导入直接使用
2. http请求方式:一项目(系统)提供一个映射方法路径,B项目(系统)发起http请求得到对应功能(<强>应用请求方式强>)
<强>应用接口强>:很多情况下,需要把系统的部分功能(组件)作为服务暴露给外部的其他应用使用,所以就需要把系统中的服务作为API接口暴露出去,一般分为公共接口和私用接口(公司内部)
二,了解网络技术的发展阶段
- <李>
静态内容阶段:网络由大量的静态HTML文档组成
李> <李>CGI程序阶段:Web服务器增加了一些编程API,可以提供一些动态的内容
李> <李>脚本语言阶段:服务器端出现了ASP、PHP、JSP、ColdFusion等支持会话的脚本语言技术,浏览器端出现了Java Applet、JavaScript等技术
李> <李>瘦客户端应用阶段:服务器端出现了独立于Web服务器的应用服务器。同时出现了Web MVC开发模式
李> <李>RIA应用阶段:出现了多种RIA(富互联网应用程序)技术,应用最为广泛的RIA技术是DHTML + Ajax
李> <李>移动网络应用阶段:出现了大量面向移动设备的网络应用开发技术Android, iOS, H5等
三,前后端分离模式
前后端分离,字面意思就是前端+后端分离,传统的开发模式前后端耦合过高,不利于维护,一旦前后端任意一方换,不利于开发。
<>强优点:强>
- <李>
前后端责任分离,后端负责数据,前端负责页面
李> <李>提高工作效率,无需等待对方开发工作结束
李> <李>增强代码的可维护性
李> <李>应对复杂的前端需求
李>四、宁静的风格
是一种规范,规范后端编写的逻辑。REST是一种设计API的模式(风格),常用JSON数据格式(能被JS直接读取),<强>只休息是一种设计风格,而不是标准强>
五,restful规范与传统规范的区别
<强>传统的请求映射方法(接口)设计考虑要点:强>
1。请求路径:/员工/列表
2。请求方法:GET/POST
3。请求参数:员工对象
4。请求响应值:JsonResult对象
<强> RESTful风格接口约束的要点:强>
1。请求路径:要求是操作资源(实体对象:域)名称复数/员工
2。请求方式:使用请求方式替换资源CRUD操作:新后增,得到——查询,删除,删除,把——更新
3。请求参数:跟之前一样,需求决定
4。请求响应值:跟之前一样,需求决定,但是<>强建议返回值都是json格式强>
六,宁静的设计
<强>网络上的所有事物都被抽象为资源强>
RESTful认为,每个资源都有自己唯一的资源定位符(URI), ,,每个URI都代表了一种资源,以一张图片为例:图片有自己的路径, 所才能以图片也是一种资源只所以URI中不用动词,只用名词。 一才能般数据库的表都是记录同种的集合,所以为名词为复数, ,,这就是为什么请求路径中的操作资源要加,s , 可才能以不遵循这个规范(看自己喜欢或者公司规范)
<强>资源状态转换强>
当我们访问一个网站,必然代表客户端和服务端间的互动,这种互动,会涉及资源间的状态变化,<强> HTTP协议,是一个无状态协议>强,所以资源的状态保存在服务器中,如果需要改变状态,需要使用HTTP方法去让服务器资源发生改变。简单的说就是,对应请求发生改变
新增,:从无到有 更新:从某个状态变成另一个状态 删除,:从有到无
<强>使用统一接口强>
休息要求,必须通过统一的接口来对资源执行各种操作
- <李>
得到:查询全部列出了http://localhost: 8080/员工
李> <李>得到:查询单个http://localhost: 8080/员工/1(1是id参数值,同时也是请求路径的一部分)
李> <李>文章:http://localhost: 8080/员工?新增的员工信息
李> <李>说:http://localhost: 8080/员工?id=1更新id为1的员工信息
李> <李>删除:http://localhost: 8080/员工?id=1更新id为2的员工信息