在处理MessageConverters之前将弹簧控制器返回值换行

时间:2014-09-03 17:49:36

标签: spring spring-mvc

我正在使用春天4 - RestController。无论我从其余的控制器方法返回什么,都应该在MessageConverters处理返回值之前包装到另一个对象中。我希望消息转换器处理该包装对象而不是实际返回值。

@RestController
@RequestMapping("\users")
public class ExampleService{

    @RequestMapping("{id}")
    public User getUser(Long id){
       // return user object from DAO
    }

}

我想将此User对象包装在另一个类SccessResponse中,这将是转换为JSON的最终值

我们有任何此类延伸点吗?

1 个答案:

答案 0 :(得分:0)

只需使用User包裹SuccessResponse对象并返回SuccessResponse

@RequestMapping("{id}")
public SuccessResponse getUser(Long id) {
    User user = userDao.findOne(id);
    return new SuccessResponse(user);
}

由于您使用的是@ResponseBody,因此您无需明确使用@RestController。 (这只是一个侧面评论;你的代码在这方面是正确的。)