使用Spring Boot,JsonDoc可以很好地检测所有 Controller ,但是不能检测位于另一个maven模块中的模型。
我们的项目有2个模块:
主 Controller 以及属性文件,例如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;
}
}
最佳答案
我也遇到了这个问题。我的Jsondoc版本是1.2.19。
我在GitHub上发现了这个问题:
https://github.com/fabiomaffioletti/jsondoc/issues/244
它们可能是由相同原因引起的。
该代码只检测带有@RequestMapping批注的方法,如果您不将其用作方法的参数或返回值,则它将找不到顾问程序对象。
希望这会有所帮助!