使用SpringMVC开发Restful风格的API
程序员文章站
2022-07-15 16:09:37
...
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
等价于@[email protected] 表明此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 验证请求参数的合法性并校验结果
- 常用的验证注解
- 自定义消息
- 自定义校验注解
推荐阅读
-
使用Python下的XSLT API进行web开发的简单教程
-
探讨PHP使用eAccelerator的API开发详解
-
在 Angular-cli 中使用 simple-mock 实现前端开发 API Mock 接口数据模拟功能的方法
-
springMVC获取requestMapping、restful风格中路径的参数
-
使用ASP.NET Web API和Web API Client Gen使Angular 2应用程序的开发更加高效
-
使用ASP.NET Web Api构建基于REST风格的服务实战系列教程——使用Repository模式构建数据库访问层
-
使用Node.js实现RESTful API的示例
-
react开发中如何使用require.ensure加载es6风格的组件
-
使用OWIN自托管开发ASP.NET Web API的系列
-
荐 使用SpringMVC做一个CRUD(Restful风格)