使用@RequestBody注释或@ResponseBody进行Spring升级

时间:2014-12-18 17:34:54

标签: spring-mvc annotations

我是Spring的新手。我想使用@RequestBody注释或@ResponseBody注释,而不是使用ModelView。 以下是我想要使用的模型和视图的方法 @ResponseBody注释

@RequestMapping(value="/user/limits", method=RequestMethod.GET)
protected ModelAndView  getUserLimits(HttpServletRequest request, 
        HttpServletResponse response,  Authentication authentication) throws Exception {

    ModelAndView mv = new ModelAndView();
    mv.setView(new MappingJackson2JsonView());

    if(authentication == null){
        response.setStatus( HttpServletResponse.SC_FORBIDDEN);
        return null;
    }

    String userid = authentication.getName();

    mv.addObject("limits", Service.getlimitsInfo(userid));
    return mv;

}

如何在没有ModelView的情况下使用指定的注释。

1 个答案:

答案 0 :(得分:0)

我认为你不明白@ResponseBody和@RequestBody的实际观点。

@ResponseBody @RequestMapping("/description")
public Description getDescription(@RequestBody UserStats stats){
    return new Description(stats.getFirstName() + " " + stats.getLastname() + " hates wacky wabbits");
}

您的方法标题看起来像这样:

protected  @ReponseBody List<Limit> getUserLimits(HttpServletRequest request, 
        HttpServletResponse response,  @RequestBody Authentication authentication) throws Exception

然后你可以在任何javascript库中使用它来发布数据为json,并将它们作为json。

您也可以先阅读http://docs.spring.io/spring/docs/current/spring-framework-reference/html/mvc.html 有一节介绍它。

希望有帮助。