在 API 响应中自定义 JSON 属性

Customizing JSON Attributes in API Response

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

我有一个 JSON 响应作为对 GET 的响应返回,可以这样说:

{"myText": "success"}

但是,我希望能够自定义响应中的属性,使其不同于其底层 java 表示,例如

{"My Own Text": "success"}

我不能将 "My Own Text" 用作 Java class 属性,所以我将其存储为 myText,但我想以更 "friendly"格式。我试过使用 ApiModelProperty(name="My Own Text")。这会更改 Swagger 文档中显示的模型,但响应仍然返回为 "myText".

我也想对 PUT 做一些类似的事情。提供另一种服务的解决方案是对不友好的属性到友好的属性进行字典映射吗?

您应该在 myText 的 getter 上使用 JsonProperty

  @JsonProperty("My Own Text")

used to indicate external property name,