【发布时间】:2019-02-08 19:52:30
【问题描述】:
我正在使用 Spring Boot 开发 REST 服务。如果我使用响应实体,我的模型对象默认生成 JSON。
在这种情况下,是否需要在每个服务中指定consumes 和produces 属性?
【问题讨论】:
-
不,默认是json。
标签: spring rest spring-boot
我正在使用 Spring Boot 开发 REST 服务。如果我使用响应实体,我的模型对象默认生成 JSON。
在这种情况下,是否需要在每个服务中指定consumes 和produces 属性?
【问题讨论】:
标签: spring rest spring-boot
消耗
对于使用请求正文的
@WriteOperation(HTTPPOST),谓词的消费子句是application/vnd.spring-boot.actuator.v2+json, application/json。对于所有其他操作,consumes 子句是空的。
生产
谓词的produces子句可以由
@DeleteOperation、@ReadOperation和@WriteOperation注解的produces属性决定。该属性是可选的。如果不使用,则自动确定produces子句。如果操作方法返回
void或Void,则produces 子句为空。如果操作方法返回org.springframework.core.io.Resource,则produce 子句为application/octet-stream。对于所有其他操作,produce 子句是application/vnd.spring-boot.actuator.v2+json, application/json。
所以你默认生成 JSON,除非你返回一个资源,然后你默认生成一个 octet-stream。
【讨论】: