org.springframework.boot
spring-boot-starter-web
接下来我们创建一个UserController类,我们使用@RestController注解表明这个Controller提供Restful的服务。使用@RequestMapping及其变体,映射http请求url到java的方法。@RequestParam映射请求参数到java方法的参数。以上是常用的注解,下面我们还会使用@PageableDefault指定分页参数默认值。
接下来我们介绍@PathVariable映射url片段到java方法的参数。并且介绍在url的声明中使用正则表达式,如下所示我们指定url中的参数只能是数字。
使用@JsonView去控制json输出内容,@JsonView的使用步骤是:1. 使用接口来声明多个视图 2. 在值对象的get方法上指定视图 3.在Controller方法上指定视图。
例如我们在实体类User上添加两个试图接口UserSimpleView和UserDetailView,其中UserDetailView继承了UserSimpleView,并且我们在get方法上指定视图,最后在Controller方法上指定视图。
接下来我们来讲一下处理创建请求,@RequestBody映射请求体到java方法的参数。因为传参是json格式,使用@RequestBody参数传递给接收的对象。在User对象中日期类型参数的处理,尽量传时间戳,前端根据不同的需求展示不同的时间格式,Date类型的日期属性,返回时间戳。
@Valid注解和BindingResult验证请求参数的合法性并处理校验结果。具体使用方式如下,在实体类中添加注解,例如@NotBlank表示参数不能为空。然后再Controller层方法接收参数的地方使用@Valid注解参数才能被校验。那么如何接收校验结果呢,我们使用BindingResult去实现,在方法中把所有的校验错误打印出来。
修改和删除服务的时候我们可以使用PUT和DELETE请求,也可以都使用POST请,使用组合注解@PutMapping和@DeleteMapping。
(4) springboot常用注解以及作用
在平常开发工作中,我们经常需要用到注解,springboot中注解很多,合理正确的使用注解,可以提高我们的开发效率。今天,主要写下springboot中常用的注解。
1:@SpringBootApplication:
@SpringBootApplication是springboot中最核心的注解,写在启动类的上面。它是@Configuration、@EnableAutoConfiguration和@ComponentScan的组合注解。@Configuration指示一个类声明一个或者多个@Bean 声明的方法并且由Spring容器管理,@EnableAutoConfiguration将SpringBoot中所有符合条件的@Configuration配置都加载到当前SpringBoot创建并使用的IoC容器,@ComponentScan扫描定义路径下的bean。
2:@RestController:
主要作用于Controller的类上,它是@Controller和@ResponseBody的组