2014-09-03 48 views
0

我正在使用彈簧4 - RestController。無論我從其餘控制器方法返回的內容應該在MessageConverters處理返回值之前被封裝到另一個對象中。我希望消息轉換器處理該包裝的對象而不是實際的返回值。在處理到MessageConverters之前包裹彈簧控制器返回值

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

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

} 

我想要包裝的另一個類SccessResponse這將是最終的價值這User對象轉換爲JSON

我們有任何這樣的擴展點?

回答

0

只是包裝與SuccessResponseUser對象並返回SuccessResponse

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

您不必使用@ResponseBody明確,因爲你正在使用@RestController。 (這只是一個方面的評論;你的代碼在這方面是正確的。)

+0

感謝您的回覆。但是我有很多這樣的服務,每項服務都有近20種方法。我無法反覆爲每項服務做到這一點。 – Pokuri 2014-09-03 18:32:04

+0

你應該將這個需求添加到問題本身。 – 2014-09-03 18:34:15