赞
踩
目录
RESTful(Representational State Transfer,表示状态转移)是一种软件设计风格,它使用HTTP 协议传输数据,并通过URL来标识资源的位置和状态。RESTful的核心思想是将网络资源视为一种状态,并通过HTTP协议来传输和操作这些状态。
资源的地址 在web中就是URL (统一资源标识符)资源是REST系统的核心概念。 所有的设计都是以资源为中心。
1. 无状态协议:RESTful使用无状态协议,即服务器不维护与客户端的连接状态。每个请求都是独立的,可以轻松地支持并发请求和负载均衡。
2. 基于HTTP 协议:RESTful使用HTTP协议来传输数据,并通过URL来标识资源的位置和状态。HTTP 协议是一种通用的协议,可以轻松地与其他系统进行集成。
3. 资源唯一标识:在RESTful中,每个资源都有一个唯一的URL,可以通过HTTP请求来获取或修改该资源的状态。这种唯一标识使得RESTful更加易于使用和管理。
4. 标准化:RESTful采用了一些标准化的概念和规则,如HTTP协议、URL、JSON等,使得开发人员可以更加轻松地设计和实现系统。
引入alibaba的JSON依赖:
- <dependency>
- <groupId>com.alibaba</groupId>
- <artifactId>fastjson</artifactId>
- <version>2.0.18</version>
- </dependency>
RESTful适用于许多不同的应用场景,包括:
1. Web 应用程序:RESTful可以用于构建Web应用程序,如社交媒体网站、博客、在线商店等。
2. 移动应用程序:RESTful可以用于构建移动应用程序,如手机应用程序、平板电脑应用程序等。
3. 后端应用程序:RESTful可以用于构建后端应用程序,如数据库服务器、消息队列服务器等。
4. 物联网设备:RESTful可以用于构建物联网设备,如智能家居设备、智能城市设备等。
1. 可扩展性:RESTful使用无状态协议,可以轻松地支持并发请求和负载均衡,从而提高系统的可扩展性。
2. 可靠性:RESTful使用HTTP 协议来传输数据,HTTP协议是一种通用的协议,可以保证数据的可靠性和安全性。
3. 易于使用和管理:RESTful使用标准化的概念和规则,如HTTP协议、URL、JSON等,使得开发人员可以更加轻松地设计和实现系统。
4. 跨平台支持:RESTful可以用于构建跨平台的应用程序,如Web应用程序、移动应用程序、后端应用程序等。
类注解
@RestController
@Restcontroller注解包含了原来的@Controller 注解和@ResponseBody注解,
@ResponseBody 注解是将返回的数据转换为JSON 格式
注意:当使用前后端分离开发,就不需要使用模板渲染,数据以JSON 格式传输给前端,前端得到后直接解析
方法注解
@ResponseBody
一般情况下,推荐使用类注解,这样可以统一API接口,和编码风格。实现时,可以根据业务需求使用对应的@GetMapping、@PostMapping
@GetMapping:处理Get 请求
200(OK) - 表示已在响应中发出
204(无内容) - 资源有空表示
301(Moved Permanently) - 资源的URI已被更新
303(See Other) - 其他(如,负载均衡)
304(not modified)- 资源未更改(缓存)
400 (bad request)- 指代坏请求(如,参数错误)
404 (not found)- 资源不存在
@PostMapping:处理 post 请求
400(bad request)- 指代坏请求404 (not found)- 资源不存在
406 (not acceptable)- 服务端不支持所需表示
409 (conflict)- 通用冲突
412 (Precondition Failed)- 前置条件失败(如执行条件更新时的冲突)
415 (unsupported media type)- 接受到的表示不受支持
500 (internal server error)- 通用错误响应
503 (Service Unavailable)- 服务当前无法处理请求
@PutMapping:处理资源更新请求
400 (bad request)- 指代坏请求
404 (not found)- 资源不存在
406 (not acceptable)- 服务端不支持所需表示
409 (conflict)- 通用冲突
412 (Precondition Failed)- 前置条件失败(如执行条件更新时的冲突)
415 (unsupported media type)- 接受到的表示不受支持
500 (internal server error)- 通用错误响应
503 (Service Unavailable)- 服务当前无法处理请求
@DeleteMapping:处理删除请求
400 (bad request)- 指代坏请求
404 (not found)- 资源不存在
409 (conflict)- 通用冲突
500 (internal server error)- 通用错误响应
503 (Service Unavailable)- 服务端当前无法处理请求
@patchMapping:处理部分资源更新请求
super():子类重写父类方法。可以通过super()调用父类其它重载的构造函数,完成构造函数重写
super()的三种使用情况
。调用父类被子类重写的方法
。调用父类被子类重定义的成员变量(被隐藏的成员变量)
。调用父类的构造函数
注意:super()如需使用,必须在子类构造函数的第一句
- package cn.edu.lzzy.vm
-
- public class JSONResult{
- private Integer code://状态码
- private Object data;/数据
- private String message;信息
-
-
- public JSONResult(){
- super();
- }
- public JSONResult(Integer code, obgect data, sthing msg){
- super():
- this.code = code;
- this.data = data;
- this,message = msg;
- }
-
-
- public JsoNResult(object data, String msg){
- super();
- this.data = data;
- this.message = msg;
- }
- public staticJSONResult isok(Object data) {
- returnnew JSONResult(200,data success);
- }
- public static JSONResult isError(inteder code. String msg {return new JSONResult (code null,msg);
- }
- public Integer getcode(){
- return code;
- }
- public void setcode(integer code){
- this.code = code;
- }
- public Object getData(){
- return data;
- }
- public object getData(){
- return data;
- }
- public void setData(Object data) {
- this.data data;
- }
- public String getMessage(){
- return message;
- }
- public void setMessage(String message){
- this.message = message;
- }
(1)URL表达形式不同。HTTP接口调用的URL表达形式可以不遵循任何标准格式,而RESTful调用的URL表达形式必须遵循RESTful架构风格的URL格式规范。
(2)请求方法不同。HTTP接口调用可以使用GET、POST、PUT等HTTP请求方法,而RESTful调用只能使用GET、POST、PUT、DELETE四种HTTP请求方法。
(3)数据传输格式不同。HTTP接口调用可以使用任意数据格式,如form、json、xml等,而RESTful调用通常使用JSON或XML数据格式进行数据传输。
(4)资源定义不同。HTTP接口调用不依赖于任何具体的资源定义,而RESTful调用的资源和API请求对应,需要在URL中对资源进行定义。
URL末尾不需要出现斜杠/
在URL中使用斜杠/是表达层级关系的。
在URL中可以使用连接符-, 来提升可读性。比如 http://xxx.com/xx-yy 比 http://xxx.com/xx_yy中的可读性更好。
在URL中不允许出现下划线字符_。
在URL中尽量使用小写字符。
在URL中不允许出现文件扩展名. 比如接口为 /xxx/api, 不要写成 /xxx/api.php 这样的是不合法的。在URL中使用复数形式。
(1)资源
⽹络上的⼀个实体,或者说是⽹络上的⼀个具体信息。它可以是⼀段⽂本、⼀张图⽚、⼀⾸歌曲、⼀种服务,总之就是⼀个具体的存在。可以⽤⼀个 URI(统⼀资源定位符)指向它,每种资源对应⼀个特定的 URI 。要获取这个资源,访问它的 URI 就可以,因此URI 即为每⼀个资源的独⼀⽆⼆的识别符。
资源的地址 在web中就是URL (统一资源标识符)资源是REST系统的核心概念。 所有的设计都是以资源为中心。
(2)表现层
把资源具体呈现出来的形式,叫做它的表现层 (Representation)。⽐如,⽂本可以⽤ txt 格式表现,也可以⽤ HTML 格式、XML 格式、JSON 格式表现,甚⾄可以采⽤⼆进制格式。
(3)状态转化
每发出⼀个请求,就代表了客户端和服务器的⼀次交互过程。
欢迎评论区交流
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。