使用SpringMvc 开发 RESTful API 用户详情请求、JsonView注解使用(二)
来源:互联网 发布:在ipad上开淘宝店 编辑:程序博客网 时间:2024/06/05 03:57
@PathVariable 映射url片段到java方法的参数
在url声明中使用正则表达式
@JsonView控制json输出内容
1.获取用户详情
测试用例
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.*;import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.jsonPath;import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;@Testpublic void whenGetInfoSuccess(){// url代表资源,方法代表查询做出的操作 状态码获取状态mockMvc.perform(get("/user/1") .contentType(MediaType.APPLICATION_JSON_UTF8)) .andExpect(status().isOk) .andExcept(jsonPath($.username).value("tom"));}@Testpublic whenGetInfoFalil(){ mockMvc.perform(get("/user/a")) .contentType(MediaType.APPLICATION_JSON_UTF8) .andExcept(status().is4xxClientError()); }
Controller
@GetMapping("/{id:\\d+}") public User getInfo(@PathVariable(value = "id") String id) { User user = new User(); user.setUsername("tom"); user.setPassword("123456"); return user; }
2.@JsonView 注解的使用
什么样的场景下适用于JonView注解?
比如下面这两个方法
// 返回一组信息public List<User> query(){} // 返回单个用户的信息public User getInfo(){}
在这个用户的对对象里面包含 两个字段 一个是username 一个是password
假设在查询的时候不把用户的密码返回过去,而在返回单个用户信息的时候把密码这个字段返回
JsonView使用步骤
使用接口来声明多个视图
在值对象的get方法上指定视图
在Controller方法上指定视图
/** * 用户实体类 * @author ZhuPengWei */public class User { // 用户的简单视图 public interface UserSimpleView {}; // 用户的复杂视图 public interface UserDetailView extends UserSimpleView {}; private String username; private String password; @JsonView(UserSimpleView.class) public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } @JsonView(UserDetailView.class) public String getPassword() { return password } public void setPassword(String password) { this.password = password; }}
// 返回一组用户信息@RequestMapping(value= "/user",method= RequestMethod.GET)@JsonView(User.UserSimpleView.class )public List<User> query(){}
// 返回单个用户的信息@RequestMapping(value= "/user/{id : \\d+}",method= RequestMethod.GET)@JsonView(User.UserDetailView.class )public User getInfo(){}
阅读全文
0 0
- 使用SpringMvc 开发 RESTful API 用户详情请求、JsonView注解使用(二)
- SpringMVC开发技巧--使用@JsonView注解
- RESTful 用户创建请求、SpringMvc的Valid注解(三)
- Spring MVC @JsonView注解使用
- springMVC(二)注解使用
- springMVC----使用注解开发
- Spring MVC 4.1 新增 @JsonView注解使用
- Spring MVC开发restful API之用户查询请求
- 使用注解方式开发SpringMVC
- SpringMVC使用注解@RequestMapping映射请求
- 使用Intellij Idea 和SpringMVC开发具有RESTful架构风格的API接口
- SpringMVC的RESTful风格url @PathVariable注解 使用
- 使用slim3快速开发RESTful API
- 使用自定义注解进行restful请求参数的校验
- OkHttp 使用详情二
- Django编写RESTful API(二):请求和响应
- Django编写RESTful API(二):请求和响应
- springMVC注解开发及提供restful接口
- 377. Combination Sum IV
- Combinatorics——HDUOJ 2110
- python与正则表达式
- tika in action主体内容
- 如何看待Handler使用中的警告
- 使用SpringMvc 开发 RESTful API 用户详情请求、JsonView注解使用(二)
- 基于NIO非阻塞的java聊天demo(支持单聊和群聊)
- 小米面试若干问题
- poj 1915 Knight Moves(BFS)
- android tcp 网络通信
- 冒泡排序法 选择排序法
- ngnix 反向代理至 tomcat
- codeblock设置C99标准
- c++实现模拟产生随机数