我正在使用swagger-springmvc集成来注释我的Java代码,以生成Swagger定义。直到我找到一个包含对另一个类的引用的请求类(发布到我的控制器)之前,一切都进行得很顺利:
@ApiModel(value = "description")
public class MyRequest {
private MyOtherClass aclass;
...
@ApiModelProperty(value = "description", required = true)
public MyOtherClass getAclass() {
return aclass;
}
...
}在另一个文件中,MyOtherClass以相同的方式进行注释:
@ApiModel(value = "description")
public class MyOtherClass {
public String anAttribute;
...
@ApiModelProperty(value = "description", required = true)
public String getAnAttribute() {
return anAttribute;
}
...
}在Swagger中查看时,MyOtherClass模型不在生成的定义中,请求对象仅显示为字符串:
{
"aclass": "MyOtherClass",
...
}而不是:
{
"trips": [
{
"anAttribute" : ""
}
],
...
}我是在某个地方遗漏了一个注释,还是这是一个限制?似乎应该有一些方法来强制类被包括在模型中。
发布于 2014-09-29 17:35:46
这是swagger-springmvc <= 0.8.2上的一个错误,他们没有通过反射解析完整的属性树。现在,用0.8.8版本为Spring项目配置Swagger非常简单,这个问题已经成功地解决了。您不需要添加任何特殊的附加注释!享受吧!
https://stackoverflow.com/questions/25912316
复制相似问题