簡體   English   中英

JsonView不起作用

[英]JsonView does not work

我使用注釋@JsonView,但它不起作用,這是我的代碼和返回數據,請你幫我看看我錯了。

我的spring jar顯示了“spring-web-3.2.8.RELEASE.jar”的版本,我只是添加了這個bean,我不知道它是否有用,我只是直接在我的代碼中使用@JsonView

<bean id = "jacksonMessageConverter" class = "org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">
        </bean>

這是View類

public class View {
    public interface Summary{};
}

這是User實體類(省略了“set”“get”方法),它有幾個對應數據庫的屬性,有一個“status”屬性不需要在json數據中返回。

public Class User{
    @JsonView(View.Summary.class)
    private Integer uid;

    @JsonView(View.Summary.class)
    private String first;

    @JsonView(View.Summary.class)
    private String last;

    @JsonView(View.Summary.class)
    private String email;

    @JsonView(View.Summary.class)
    private String password;

    private Integer status;

}

我有控制器

@RequestMapping(value="/login", method=RequestMethod.POST)
@JsonView(View.Summary.class)
@ResponseBody
public Message login(String email, String password){        
    User user = userMapper.findUser(email,password);        

    Message message = new Message();                
    message.setUser(user);
    return message;     
}   
}

這是我的Message類,帶有“set”“get”方法

public class Message {
    private int box_hits;

    private List<Box> boxes;

    @JsonView(View.Summary.class)
    private User user;
}

當我使用郵遞員測試網址時,它會顯示json數據,顯然,它不應該返回沒有@JsonView的屬性,我的代碼有什么問題?

 {
  "box_hits": 0,
  "boxes": null,
  "user": {
    "uid": 1,
    "first": "yuan",
    "last": "kang",
    "email": "123@qq.com",
    "password": "123",
    "status": 0
  }
}

公告博客文章中所述 ,此功能僅在Spring Framework 4.2中提供。 它不適用於Spring 3.2.8。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM