Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Json 避免使用@ResponseBody注释所有方法_Json_Spring_Rest_Spring Mvc - Fatal编程技术网

Json 避免使用@ResponseBody注释所有方法

Json 避免使用@ResponseBody注释所有方法,json,spring,rest,spring-mvc,Json,Spring,Rest,Spring Mvc,我正在创建一个RESTAPI,在其中我将域对象作为JSON实体返回 到目前为止,我正在创建一个控制器,在该控制器中,我必须对每个方法进行如下注释: @RequestMapping(value="/entity/{id}", produces = "application/json; charset=utf-8", method=RequestMethod.GET) @ResponseBody public String getEntity(@PathVariable Long id) {

我正在创建一个RESTAPI,在其中我将域对象作为JSON实体返回

到目前为止,我正在创建一个控制器,在该控制器中,我必须对每个方法进行如下注释:

@RequestMapping(value="/entity/{id}", produces = "application/json; charset=utf-8", method=RequestMethod.GET)    
@ResponseBody
public String getEntity(@PathVariable Long id)
{
     (...)
}
由于我在这个控制器中的所有方法都是JSON实体,有没有办法提示spring我希望所有方法都返回
@ResponseBody
对象?
此外,我还必须使用
products=“application/json;charset=utf-8”
进行注释,因为否则返回的对象具有错误的编码(并且它们不会作为json返回)。我是否也可以对所有方法执行此操作,而不必对它们中的每一个进行注释?

您可以在类型(类)级别将
@RequestMapping
一起使用,以产生
-对我来说,它可以毫无问题地工作:

@Controller
@RequestMapping(value = "/foo", produces = "text/plain; charset=UTF-8")
public class FooController { ... }
但是,从中可以看到,
@ResponseBody
只能应用于Spring3.x中的方法级别

编辑:
正如@Prancer指出的,从v4.0开始,.

从Spring版本4.0开始,@ResponseBody可以添加到继承的类型级别,因此不需要在方法级别添加@ResponseBody。@Prancer,感谢您指出这一点。我已经相应地更新了我的答案。@MichałRybak您还应该提到Spring 4功能只适用于
@RestController
,而不适用于
@Controller
@geo和source?从我读到的
@RestController
是用
@ResponseBody
自动注释的,因此无需再次注释它。此外,我在顶层找不到任何关于
@ResponseBody
不适用于常规
@Controller
-这应该有效,甚至
@RestController
定义(如上所述)使用它。@MichałRybak我的意思是,当您
@RestController
时,您不必使用
@ResponseBody
注释任何内容,因为该功能是模拟的。仅用
@Controller
注释Spring4POJO并不提供该功能。