REST - RESTFUL风格是什么以及Java中怎么使用
什么是 RESTFUL 风格?
REST(英文:Representational State Transfer,简称REST)描述了一个架构样式的网络系统,指的是一组架构约束条件和原则,满足这些约束条件和原则的应用程序或设计就是 RESTful。REST并没有一个明确的标准,而更像是一种设计的风格。
Representational(表述性) : REST 资源实际上可以用各种形式来进行表述,包括 XML、JSON 甚至 HTML——最适合资源使用者的任意形式。
State(状态):当使用 REST 的时候,我们更关注资源的状态而不是对资源采取的行为。
Transfer(转义)*:REST 涉及到转移资源数据,它以某种表述性形式从一个应用转移到另一个应用。
RESTFUL特点
1、每一个URI代表1种资源;
2、客户端使用GET、POST、PUT、DELETE4个表示操作方式的动词对服务端资源进行操作:GET用来获取资源,POST用来新建资源(也可以用于更新资源),PUT用来更新资源,DELETE用来删除资源;
3、通过操作资源的表现形式来操作资源;
4、资源的表现形式是XML或者HTML;
5、客户端与服务端之间的交互在请求之间是无状态的,从客户端到服务端的每个请求都必须包含理解请求所必需的信息。
CRUD动作 | HTTP方法 |
---|---|
add(新增) | POST |
update(修改) | PUT |
delete(删除) | DELETE |
get(查询) | GET |
一般来说,我们平常都是用的是GET和POST请求,实际上还有很多其他请求方式。在RESTFUL风格里一般就是用上诉这四种对应的关系,但是也不是约定死了的。POST同样也可以用来做查询请求,当我们做某些查询时,希望带的条件是不要暴露出来时。POST也可以用来做修改操作。
RESTFUL在Java中怎么使用
一、传统与REST
方法 | 传统风格URL | REST风格URL |
---|---|---|
查询(GET) | /getAllStudent | /sutdent |
新增(POST) | /addStudent?name=关羽 | /student |
修改(PUT) | /updateStudent?id=1&&name=张飞 | /student |
删除(DELETE) | /deleteStudent?id=1 | /student/1 |
二、Java(Spring)中使用示例
1、创建Student类
使用lombok生成get/set/构造方法
@Data
@AllArgsConstructor
public class Student {
private Long id;
private String name;
private String sex;
}
2、创建Controller类
RESTFUL风格的增删改查。
黛琳ghz: 正确的!
weixin_48293596: 你好,微博现在再审核阶段,通过authorize这个接口生成code时scope的权限设置会出现问题,我输入的权限为all但是最后只有"scope": "follow_app_official_microblog",这个权限,这个问题会不会与账户没有审核完成出现的问题
qq_45020177: 端口22
蓝翔Java就是好: 太棒了哥,哥太棒
HeChengQAQ: 想问一下登录模式第三种token方式,缺点的位置,"服务端为什么要销毁,都没有存"