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,谢谢你指出。我相应地更新了我的答案。 –