我正在使用spring rest api 4.x.我们需要根据请求参数过滤响应中的字段.
我的用户对象:
private class UserResource {
private String userLastName;
private String userFirstName;
private String email;
private String streetAddress;
}
E.g. URL: curl -i http://hostname:port/api/v1/users?fields=firstName,lastName.
在这种情况下,我只需要返回请求参数“fields”中的字段. JSON输出应仅包含firstName,lastName.
有几种方法可以根据对象过滤Jackson中的字段.在我的情况下,我需要通过将字段列表传递给Jackson序列化程序来动态过滤.
请分享一些想法.
最佳答案
谢谢阿里.这是一个很大的帮助.让我今天实施它.我会发布结果
@JsonFilter("blah.my.UserEntity")
public class UserEntity implements Serializable {
//fields goes here
}
@RequestMapping(value = "/users",method = RequestMethod.GET,produces = MediaType.APPLICATION_JSON_VALUE)
public MappingJacksonValue getUsers(@RequestParam MultiValueMap