使用Spring Boot,JsonDoc可以很好地检测所有控制器,但它不会检测位于另一个maven模块中的模型。
我们的项目有两个模块:
主控制器以及属性文件,例如application.properties位于 my-app-core 中,以下是jsondoc的配置:
# mandatory configuration
jsondoc.version=1.0
jsondoc.basePath=http://localhost:8090
jsondoc.packages[0]=com.myapp
jsondoc.packages[1]=com.myapp.api.docs.GlobalDocumentation
jsondoc.packages[2]=com.myapp.api.docs.ChangeLogDocumentation
jsondoc.packages[3]=com.myapp.api.jsonapi.model
# optional configuration
jsondoc.playgroundEnabled=true
jsondoc.displayMethodAs=URI
包 com.myapp.api.jsonapi.model 位于另一个模块 my-app-impl 中,JSONDoc没有检测到它们。
以下是带注释的示例模型
@JsonApiResource(type="advisers")
@ApiObject(description = "Adviser model")
public class Adviser {
@JsonApiId
@ApiObjectField(description = "ID")
private Integer id;
@ApiObjectField(description = "Adviser's name")
private String name;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
答案 0 :(得分:0)
我也遇到了这个问题。我的Jsondoc版本是1.2.19。
我在GitHub上发现了这个问题:
https://github.com/fabiomaffioletti/jsondoc/issues/244
原因可能是相同的。
该代码只检测带有@RequestMapping批注的方法,如果不将其用作方法的参数或返回值,则无法找到Adviser对象。
希望这会有所帮助!