1、首先我们需要添加一个web依赖,引入spring-boot-starter-web的依赖。<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId></dependency>
2、接下来我们创建一个UserController类,我们使用@RestController注解表明这个Controller提供Restful的服务。使用@RequestMapping及其变体,映射http请求url到java的方法。@RequestParam映射请求参数到java方法的参数。以上是常用的注解,下面我们还会使用@PageableDefault指定分页参数默认值。
3、接下来我们介绍@PathVariable映射url片段到java方法的参数。并且介绍在url的声明中使用正则表达式,如下所示我们指定url中的参数只能是数字。
4、使用@JsonView去控制json输出内容,@JsonView的使用步骤是:1. 使用接口来声明多个视图 2. 在值对象的get方法上指定视图 3.在Controller方法上指定视图。例如我们在实体类User上添加两个试图接口UserSimpleView和UserDetailView,其中UserDetailView继承了UserSimpleView,并且我们在get方法上指定视图,最后在Controller方法上指定视图。
5、接下来我们来讲一下处理创建请求,@RequestBody映射请求体到java方法的参数。因为传参是json格式,使用@RequestBody参数传递给接收的对象。在User对象中日期类型参数的处理,尽量传时间戳,前端根据不同的需求展示不同的时间格式,Date类型的日期属性,返回时间戳。
6、@Valid注解和BindingResult验证请求参数的合法性并处理校验结果。具体使用方式如下,在实体类中添加注解,例如@NotBlank表示参数不能为空。然后再Controller层方法接收参数的地方使用@Valid注解参数才能被校验。那么如何接收校验结果呢,我们使用BindingResult去实现,在方法中把所有的校验错误打印出来。
7、修改和删除服务的时候我们可以使用PUT和DELETE请求,也可以都使用POST请,使用组合注解@PutMapping和@DeleteMapping。