springboot和vue一
spring-boot-devtools
devtools会监听classpath下的文件变动,触发Restart类加载器重新加载该类,从而实现类文件和属性文件的热部署
可以指定某些文件修改不重新部署
Controller和RestController
如果请求的是数据和页面,使用@Controller注解即可;如果只是请求数据,则使用@RestController注解。
数据(Model),页面(View)
RequestParam
将请求的参数绑定到控制器的方法参数上,接收的参数来自http请求体或请求url的QuertString,当请求的参数名称与Controller的业务方法参数名称一致时,此注解可以省略;如果写了此注解,没有接收到参数,就会报错,可以再加个属性,required = false
PathVaraible
用来处理动态的url(比如”/user/{id}”),url的值可以作为控制器中处理办法的参数
RequestBody
接收的参数来自requestBody中,即请求体中,一般用于处理json、xml类型的数据,如果返回是这两种,一定要加此注解
文件上传
表单的enctype=”application/x-www-form-urlencoded”默认时,form表单的数据格式为:key=value&key=value
一般都要将enctype更改为enctype=”multipart/form-data”。
spring.servlet.multipart.max-file-size=1MB 每个文件的配置最大为1MB
spring.servlet.multipart.max-request-size=10MB 单次请求文件的总数不能大于10MB
可以通过使用MultipartFile获取上传的文件数据,再通过transferTo方法将其写入到磁盘
1 |
|
Interceptor
springboot定义了HandlerInterceptor接口来实现自定义拦截器的功能
HandleInterceptor接口定义了preHandle,postHandle,afterComletion三种方法,通过重写这三种方法实现请求前、请求后等操作
1 |
|
1 | public class LoginInterceptor extends HandleInterceptor { |
状态码
http定义了40个标准状态码,可用于传达客户端请求的结果。分为五个类别
- 1xx:信息,通信传输协议级信息
- 2xx:成功,表示客户端的请求已成功接受
- 3xx:重定向,表示客户端必须执行一些其他操作才能完成其请求
- 4xx:客户端错误,此类错误状态码指向客户端
- 5xx:服务器错误,服务器负责编写错误代码
RESTful API
- @GetMapping:处理get请求,获取资源
- @PostMapping:处理post请求,新增资源
- @PutMapping:处理put请求,更新资源
- @DeleteMapping:处理delete请求,删除资源
- @PatchMapping:处理patch请求,用于部分更新资源
@PathVariable
和动态路由有关,动态路由是传的参数写在路径后面并且用”/“连接
用”/“连接必须要用此注解才能获取到参数值
mybatis-plus实现分页
创建配置类,实现分页拦截插件
1 |
|