1.RESTful是什么
REST(【Resource】Representational State Transfer):表现层状态转化
REST指的是一组架构约束条件和原则。满足这些约束条件和原则的应用程序或设计就是 RESTful
资源是一个信息实体,用唯一的url代表该资源
表现层是指信息的呈现形式,我们在请求头中对其进行描述
表现层状态转换是指改变(服务器端)资源的状态
2. 统一编程接口:分为公用接口和私用接口
3.RESTful设计
资源设计:网址使用名词,且名词与数据库中的表对应,名词使用负数
动作设计:get/post/put/delete
返回结果:accept:application/json /content-type:application/json
4.@RequestMapping
@RestController相当于@Controller所有的方法自动添加上@ResponseBody;
@PathVariable 将前端传来的占位符参数{id}传入指定参数中
@GetMaping @PostMaping @PutMapping @DeleteMapping 限制只有某类方法可以访问
使用对象封装参数: 在参数很多的时候,可以使用对象封装参数,只要做到占位符中的参数名和对象中的属性名相同, 可以将占位符中的参数设置进对象,这样就可以避免过多设置参数路径.
5.@RequestBody
要求前端传过来的数据必须是符合指定的格式
前端可能存在多个环境,如ios,andriod,微信小程序等,必须指定他们穿过来的数据格式
6.headers consumer produce
headers 请求的时候判断头信息是否符合条件
consumer 代表消费,和前台传入的数据相关
相当于配置了 headers="headers="content-type=application/json"
produce 代表生产,和前台传过来的accept有关
7.ajax和form表单
springmvc框架默认不支持put请求,必须在web.xml文件中配置,这样才可以在前端界面发送put请求.
8.传统开发方式和前后端开发模式的对比
前后端开发模式实现了解耦,
后端只要向前端提供api接口,后端和前端开发可以同时进行.
自己的总结:
RESTful是一种开发方式
必须符合它特定的规则
比如资源路径设计,请求动作设计,请求参数设计,返回结果设计
使用 @PathVariable 将前端传来的占位符参数{id}传入指定参数中
使用对象封装参数: 在参数很多的时候,可以使用对象封装参数,只要做到占位符中的参数名和对象中的属性名相同, 可以将占位符中的参数设置进对象,这样就可以避免过多设置参数路径.