一张图说明RestFul风格与传统风格的区别
实例说明
在平时的 Web 开发中,method 常用的值是 GET 和 POST,但是实际上,HTTP 方法还有 PATCH、DELETE、PUT 等其他值,这些方法又通常会匹配为如下的 CRUD 动作:
在RestFul风格开发中分为多个强度级别(依次加强)
0 使用Http作为传输方式
① 引入资源概念。每个资源都有对应的URL
② 使用Http方法进行不同的操作。使用HTTP状态码来标识不同的结果(国内一般达到当前级别)
③ 使用超媒体。在资源的表达中包含了链接信息
关于RestFul的几个注解
@RestController 标明此Controller提供Restful API
@RequestMapping 及其变体(GetMapping、PostMapping等)。映射http请求url到java方法
value 标明映射的url路径
method 请求方式(GET、POST、PUT、DELETE等等)
@RequestParam 映射请求参数到java方法的参数
name 指定请求中接收该参数名的值
required = true 请求时必须给值;required = false 请求可以不传值
defaultValue = "tom" 如果没接收值则默认值为tom
@RequestParam(name = "name",required = false,defaultValue = "tom") String username 参数名称为name,非必填项,如果不给值则默认值为“tom”
还有经常使用到的Pageable(spring-data-commons包下) 工具类也有一个对应的注解
@PageableDefault (page = 1,size = 5,sort = "DESC") Pageable pageable