Swagger 寫在注解讓整個代碼變得很複雜,所以找到有人寫在 JavaDoc 的方式,首先 Gradle 的設定如下:
// build.gradle apply plugin: 'java' configurations { doclet } dependencies { doclet ( 'com.tenxerconsulting:swagger-doclet:1.1.3', 'javax.ws.rs:javax.ws.rs-api:2.1' ) } task generateRestApiDocs(type: Javadoc) { source = sourceSets.main.allJava destinationDir = reporting.file('rest-api-docs') options.classpath = configurations.doclet.files.asType(List) options.docletpath = configurations.doclet.files.asType(List) options.doclet = 'com.tenxerconsulting.swagger.doclet.ServiceDoclet' options.addStringOption('apiVersion', '1') options.addStringOption('docBasePath', "/$project.name/static/swagger-ui") options.addStringOption('apiBasePath', "/$project.name") options.addBooleanOption('skipUiFiles', false) }
public final class Hello { /** * Get user toggle. * * @param name your name * @return http response * @requiredParams name * @paramsDefaultValue name world * @responseType String * @responseMessage 200 ok `String * @responseMessage 500 internal error `javax.ws.rs.WebApplicationException */ @GET @Path("/{name}") public Response getHello(@PathParam("name") String name) { return Response.Ok("Hello " + name).build(); } }
參考資料:
沒有留言:
張貼留言