使用Spring Boot,JsonDoc可以很好地检测所有 Controller ,但是不能检测位于另一个maven模块中的模型。

我们的项目有2个模块:

  • 我的应用核心
  • my-app-impl

  • 主 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批注的方法,如果您不将其用作方法的参数或返回值,则它将找不到顾问程序对象。
    希望这会有所帮助!

    07-26 02:52