标签:ica view http alt 编写 java方法 system get 正则表达式
一:编写用户详情服务
1.任务
@PathVariable隐射url片段到java方法的参数
在url声明中使用正则表达式
@JsonView控制json输出内容
二:@PathVariable
1.@PathVariable小测试
测试类
1 @Test 2 public void whenGetInfoSuccess() throws Exception { 3 //发送请求 4 mockMvc.perform(MockMvcRequestBuilders.get("/user/1") 5 .contentType(MediaType.APPLICATION_JSON_UTF8)) 6 .andExpect(MockMvcResultMatchers.status().isOk()) 7 .andExpect(MockMvcResultMatchers.jsonPath("$.username").value("tom")); 8 }
控制类
1 @RequestMapping(value="/user/{id}",method=RequestMethod.GET) 2 public User getInfo(@PathVariable(value="idid") String idid){ 3 System.out.println("id="+idid); 4 User user=new User(); 5 user.setUsername("tom"); 6 return user; 7 }
2.效果
三:url声明中的正则表达式
1.测试
测试类
1 /** 2 * 测试url声明的正则表达式 3 * @throws Exception 4 */ 5 @Test 6 public void whenGetInfoFail() throws Exception { 7 //发送请求 8 mockMvc.perform(MockMvcRequestBuilders.get("/user/aa") 9 .contentType(MediaType.APPLICATION_JSON_UTF8)) 10 .andExpect(MockMvcResultMatchers.status().is4xxClientError()); 11 }
控制类
只许传递的id为数字。
1 @RequestMapping(value="/user/{id:\\d+}",method=RequestMethod.GET) 2 public User getInfo(@PathVariable(value="idid") String idid){ 3 System.out.println("id="+idid); 4 User user=new User(); 5 user.setUsername("tom"); 6 return user; 7 }
四:@JsonView
1.说明
标签:ica view http alt 编写 java方法 system get 正则表达式
原文地址:https://www.cnblogs.com/juncaoit/p/9697119.html