Java 正在将@ResponseBody迁移到ResponseEntity

Java 正在将@ResponseBody迁移到ResponseEntity,java,spring,response,spring-restcontroller,Java,Spring,Response,Spring Restcontroller,我有一个旧的控制器,其方法返回一个json对象,并用@ResponseBy标记 问题是状态代码总是200,尽管有时不是 当前方法签名为: public MyResponse myMethod(){} 我想把它改成: public ResponseEntity<MyResponse> myMethod(){} public ResponseEntity myMethod(){} 所有这些都不是问题,但我担心使用此控制器的it客户端将无法解析响应。可能吗?Spring是否用另一个对

我有一个旧的控制器,其方法返回一个json对象,并用@ResponseBy标记

问题是状态代码总是200,尽管有时不是

当前方法签名为:

public MyResponse myMethod(){}
我想把它改成:

public ResponseEntity<MyResponse> myMethod(){}
public ResponseEntity myMethod(){}

所有这些都不是问题,但我担心使用此控制器的it客户端将无法解析响应。可能吗?Spring是否用另一个对象包装响应?

根据@RequestMapping()的javadoc,响应主体将被展开并写入响应输出流。所以输出应该是相同的


当前版本()的文档说明了基本相同的内容。

根据@RequestMapping()的javadoc,ResponseEntity的主体将被展开并写入响应输出流。所以输出应该是相同的


当前版本()的文档说明了基本相同的内容。

如果控制器无异常地执行,它将返回http 200。
如果您返回ResponseEntity对象,它应该可以工作。

如果它执行时没有异常,控制器将返回http 200。
如果返回ResponseEntity对象,则该对象应能正常工作。

否,它不能正常工作。回答将是相同的。否。客户不会有任何问题不,没有。回答将是相同的。否。客户将不会有任何问题这仍然是正确的,但您引用的是近十年前的文档。在这种情况下,我们是否可以更新答案以将链接更改为文档的最新版本?()当前的javadoc for@RequestMapping没有提到ResponseEntityThis仍然正确,但您引用的是近十年前的文档。在这种情况下,我们能否更新答案以将链接更改为文档的最新版本?()@RequestMapping的当前javadoc没有提到ResponseEntity