码迷,mamicode.com
首页 > 编程语言 > 详细

004 使用SpringMVC开发restful API二

时间:2018-09-25 01:22:51      阅读:194      评论:0      收藏:0      [点我收藏+]

标签: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.说明

 

004 使用SpringMVC开发restful API二

标签:ica   view   http   alt   编写   java方法   system   get   正则表达式   

原文地址:https://www.cnblogs.com/juncaoit/p/9697119.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!