我使用 gradle 为我的 java 项目设置它的方式如下:
1)。在 build.grade 中添加 doclet 配置
doclet(
[group: 'com.carma', name: 'swagger-doclet', version: '1.0.4.2'],
[group: 'javax.ws.rs', name: 'javax.ws.rs-api', version: '2.0']
)
2)。在构建任务 generateRestApiDocs(type: Javadoc) {
source = sourceSets.main.allJava
def file = new File(project.rootDir.toString() + "/my-app/src/main/resources/assets/api-docs")
destinationDir = file
options.classpath = configurations.doclet.files.asType(List)
options.docletpath = configurations.doclet.files.asType(List)
options.doclet = "com.carma.swagger.doclet.ServiceDoclet"
options.addStringOption("apiVersion", "1")
options.addStringOption("docBasePath", "/assets/api-docs")
options.addStringOption("apiBasePath", "../../")
options.addBooleanOption("skipUiFiles", true)
if (JavaVersion.current().isJava8Compatible()) {
options.addStringOption('Xdoclint:none')
}
}
3)。使构建依赖于生成的其余文档任务
build.dependsOn generateRestApiDocs
4)。注释和 javadoc 你的资源
/**
* Endpoint to do something blah blah
*
* @param id blah blah blah
* @param boolean blah blah blahb
* @return {@link blab}
* @responseMessage 200 ok
* @responseMessage 404 not found
*/
@GET
@Produces(MediaType.APPLICATION_JSON)
@Path("/{id}")
5)。构建任务将创建必要的 swagger json 文件,由您的 swagger ui 提供。