版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/a2011102394/article/details/80669024
1、编写针对RestfulAPI的测试用例
添加测试的依赖
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> </dependency>
编写测试用例
@RunWith(SpringRunner.class)//如何运行测试用例 @SpringBootTest//表明这个类是一个测试类 public class UserControllerTest { /** * Spring IOC 容器 */ @Autowired private WebApplicationContext wac; /** * 虚拟一个MVC运行环境,不会真正地启动tomcat */ private MockMvc mockMvc; /** * 在每一个测试方法执行之前先执行,实例化一个mockMVC * @throws Exception */ @Before public void setUp() throws Exception { mockMvc=MockMvcBuilders.webAppContextSetup(wac).build(); } @Test public void whenQuerySuccess() throws Exception { mockMvc.perform(MockMvcRequestBuilders.get("/user") .contentType(MediaType.APPLICATION_JSON_UTF8)) .andExpect(MockMvcResultMatchers.status().isOk()) .andExpect(MockMvcResultMatchers.jsonPath("$.length()").value(3)); } }
2、使用注解声明RestfulAPI
get请求相关的注解
@RestController
等价于@Controller+@ResponseBody 表明此Controller提供RestAPI
@RequestMapping及其变体
映射http请求url到java方法
@RequestParam
映射请求参数到java方法的参数
@PageableDefault
指定分页参数的默认值 需要依赖spring-data <dependency> <groupId>org.springframework.data</groupId> <artifactId>spring-data-commons</artifactId> </dependency>
@PathVariable
映射url片段到java方法的参数中 在url声明中使用正则表达式
@JsonView控制json的内容输出
- 使用接口来声明多个视图
- 在值对象的get方法中指定视图
- 在Controller方法上指定视图
json-path的使用
post请求相关的注解
- @RequestBody 映射请求体到java方法的参数
日期类型的处理
后台统一为时间戳,具体的展示由不同的客户端进行展示
@Valid 注解和BindingResult 验证请求参数的合法性并校验结果
- 常用的验证注解
- 自定义消息
- 自定义校验注解