Spring Boot Rest Service 是否需要“生产”和“消费”属性?

Sha*_*thi 5 rest spring spring-boot

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

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

Tod*_*odd 5

根据文档

消耗

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

生产

@DeleteOperation谓词的 Produces 子句可以由、@ReadOperation和注释的 Produces 属性确定@WriteOperation。该属性是可选的。如果未使用,则自动确定 Produces 子句。

如果操作方法返回voidVoidProduces 子句为空。如果操作方法返回 a org.springframework.core.io.Resource,则 Produces 子句为application/octet-stream。对于所有其他操作,产生子句是application/vnd.spring-boot.actuator.v2+json, application/json

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

  • 引用的文档位于 Spring Actuator 部分(因此引用了 application/vnd.spring-boot.actuator.v2+json)。我们从哪里知道这通常适用于 Spring REST?(我正在寻找,但我自己还没有找到明确的参考)。 (4认同)