我正在使用Spring Boot开发REST服务。如果使用响应实体,则默认情况下,我的模型对象会生成JSON。

在这种情况下,是否需要在每个服务中指定consumesproduces属性?

最佳答案

根据the documentation:
消耗

对于使用请求正文的@WriteOperation(HTTP POST),谓词的消耗子句为application/vnd.spring-boot.actuator.v2+json, application/json。对于所有其他操作,消耗子句为空。

产生

谓词的Produces子句可以由@DeleteOperation@ReadOperation@WriteOperation批注的Produces属性确定。该属性是可选的。如果未使用,则会自动确定produces子句。
如果操作方法返回voidVoid,则Produces子句为空。如果操作方法返回org.springframework.core.io.Resource,则produces子句为application/octet-stream。对于所有其他操作,produces子句为application/vnd.spring-boot.actuator.v2+json, application/json

因此,除非您返回资源,否则默认情况下将生成JSON,然后默认情况下将生成八位字节流。

09-29 23:19