2
我正在創建一個REST API,其中我將域對象作爲JSON實體返回。避免使用@ResponseBody註釋所有方法
到目前爲止我創建一個控制器中的每一個方法我都標註它像這樣:
@RequestMapping(value="/entity/{id}", produces = "application/json; charset=utf-8", method=RequestMethod.GET)
@ResponseBody
public String getEntity(@PathVariable Long id)
{
(...)
}
自從我在控制所有的方法都是JSON實體,有沒有什麼辦法來暗示彈簧我想要所有的方法返回@ResponseBody
對象? 另外,我必須用produces = "application/json; charset=utf-8"
進行註釋,因爲否則返回的對象的編碼錯誤(並且它們不作爲JSON返回)。我是否也可以對所有方法執行此操作,而不必對每個方法進行註釋?
無論如何,這是有幫助的。它像一個魅力:) –
從Spring 4.0版開始,可以將@ResponseBody添加到繼承的類型級別,因此不需要在方法級別添加。 – Prancer
@Prancer,謝謝你指出。我相應地更新了我的答案。 –