在API响应中自定义JSON属性

时间:2018-05-29 16:54:21

标签: java spring-boot jersey swagger swagger-ui

我使用Spring Boot,Jersey和Swagger(io.swagger:swagger-jersey2-jaxrs:1.5.8)

我有一个JSON回复我作为对GET的回复返回,让我们这样说:

{"myText": "success"}

但是,我希望能够将响应中的属性自定义为与其基础java表示不同,例如。

{"My Own Text": "success"}

我无法使用"我自己的文字"作为一个Java类属性,所以我将它存储为myText,但是我希望将它暴露给更友好的"格式。我尝试过使用ApiModelProperty(name="My Own Text")。这改变了Swagger文档中显示的模型,但响应仍然以" myText"。

的形式返回。

我也喜欢和PUT做类似的事情。解决方案是提供另一个服务来执行unfriendlyAttribute-to-friendlyAttribute的字典映射吗?

1 个答案:

答案 0 :(得分:2)

你应该在myText的getter上使用JsonProperty

  @JsonProperty("My Own Text")
  

用于表示外部属性名称,