【发布时间】:2015-03-30 20:40:38
【问题描述】:
我正在使用 Spring MVC(通过 Spring Boot)并使用 swagger-spring-mvc 库集成了 Swagger API 文档。
我有一个看起来像这样的类:
@ApiModel
public class CartItem {
...
private Money listPrice; // joda money class
@JsonSerialize(using = ToStringSerializer.class)
@ApiModelProperty(required = true, dataType = "java.lang.String")
public Money getListPrice() {
return listPrice;
}
...
}
由于我为此字段使用了 ToStringSerializer,它以 JSON 格式返回 listPrice.toString,换句话说:
{
"listPrice": "USD 10.50"
}
但是,swagger 文档不支持 dataType = "java.lang.String"。它将响应模型显示为:
"CartItem": {
"description": "",
"id": "CartItem",
"properties": {
"listPrice": {
"required": false,
"type": "Money"
}
}
}
我尝试将@ApiModelProperty 注释放在字段和方法上,在这两种情况下都尊重required 字段,但忽略dataType 字段。我也尝试过对 dataType 使用“String”、“string”和“java.lang.String”,但这些都不起作用。
我是否遗漏了什么,或者这只是 swagger-spring-mvc 库中的一个错误?
【问题讨论】:
标签: java spring spring-mvc swagger