使用Spring MVC开发RESTful API
- 使用URL描述资源
- 使用HTTP方法描述行为,使用HTTP状态码来表示不同的结果
- 使用json交互数据
- RESTful只是一种风格,并不是强制的标准
常用注解
- @RestController标明此controller提供RestAPI
- @RequestMapping及其变体,映射http请求url到java方法
- @RequestParam映射请求参数到java方法的参数
- @PageableDefault指定分页参数默认值
编写用户详情服务
- @PathVariable:映射url片段到java方法的参数
- 在url声明中使用正则表达式
- 使用JsonView控制json输出内容
@JsonView使用步骤
- 使用接口来声明多个视图
- 在值对象的get方法上指定视图
- 在controller方法上指定视图
处理创建请求
- @RequestBody映射请求到java方法的参数
- 日期类型参数的处理
- @Valid注解和BindingResult验证请求参数的合法性并处理检验结果
Hibernate Validator常用注解:
- @AssertFalse:值必须是false
- @AssertTrue:值必须是true
- @DecimalMax(value= ,inclusive= ):值必须小于等于(inclusive=true)/小于(inclusive=false)value属性指定的值,可以注解在字符串类型的属性上
- @DecimalMin(value= ,inclusive= ):值必须大于等于(inclusive=true)/大于(inclusive=false)value属性指定的值,可以注解在字符串类型的属性上
- @Digits(Integer= ,fraction= ):数字格式的检查,Integer指定整数部分最大长度,fraction指定小数部分的最大长度
- @Future:值必须是未来的日期
- @Past:值必须是过去的日期
- @Max(value= ):值必须小于等于value指定的值,不能注解在字符串类型的属性上
- @Min(value= ):值必须大于等于value指定的值,不能注解在字符串类型的属性上