我想忽略JSON中的字段只在少数情况下可能吗?

时间:2016-08-17 07:18:25

标签: java json spring spring-mvc model

我的ModelClass

public class UserPojo{

   private String userEmailId;
   private String userPassword;
   private String userContactNumber;
   //setters and getters
}

我想将UserPojo类对象作为json发送,但在某些情况下,我希望使用userpassword发送,有些情况下没有userpassword可能会发送吗?

在下面的方法中,我想发送没有userpassword的userPojo对象。 我的 Spring版本是4.3.1.RELEASE 。我有杰克逊图书馆

@RestController
@RequestMapping("/user")
public class UserController{

 @GetMapping(value="/{userId}")
 public UserPojo getUser(@PathVariable("userId") String userId){

   //code goes here 
   //finally returning UserPojo Object
   return userPojo;
 }   

}

在下面的方法中,我想用密码

发送userPojo对象
@RestController
@RequestMapping("/admin")
public class AdminController{

 @GetMapping(value="/{userId}")
 public UserPojo getUser(@PathVariable("userId") String userId){

   //code goes here 
   //finally returning UserPojo Object
   return userPojo;
 }   

}

我希望你明白我的观点

2 个答案:

答案 0 :(得分:5)

对于您的要求,请使用@JsonView,如果您想完全忽略某个字段@JsonIgnore

答案 1 :(得分:1)

是的,这是通过使用@JsonView注释实现的。

这是一个很好的教程,如何使用这个feature