X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fsal-rest-docgen%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fsal%2Frest%2Fdoc%2Fapi%2FApiDocService.java;h=2646a6a245210d51198570b4dac8797b45be0a4a;hp=3542d6aadceeff15659a315c306306d6b68ab7c9;hb=9bc55ab15fcfbdd395c059dbc5ea7e65200d52b3;hpb=31b7a44c89d1057489338492fcf62a64147bea24 diff --git a/opendaylight/md-sal/sal-rest-docgen/src/main/java/org/opendaylight/controller/sal/rest/doc/api/ApiDocService.java b/opendaylight/md-sal/sal-rest-docgen/src/main/java/org/opendaylight/controller/sal/rest/doc/api/ApiDocService.java index 3542d6aadc..2646a6a245 100644 --- a/opendaylight/md-sal/sal-rest-docgen/src/main/java/org/opendaylight/controller/sal/rest/doc/api/ApiDocService.java +++ b/opendaylight/md-sal/sal-rest-docgen/src/main/java/org/opendaylight/controller/sal/rest/doc/api/ApiDocService.java @@ -16,47 +16,83 @@ import javax.ws.rs.core.MediaType; import javax.ws.rs.core.Response; /** - * This service generates swagger - * (See https://helloreverb.com/developers/swagger) - * compliant documentation for RESTCONF APIs. The output of this is used by embedded Swagger UI. + * This service generates swagger (See https://helloreverb.com/developers/swagger) compliant documentation for + * RESTCONF APIs. The output of this is used by embedded Swagger UI. */ @Path("/") public interface ApiDocService { - /** - * Generates index document for Swagger UI. This document lists out all modules with link to get APIs for - * each module. The API for each module is served by getDocByModule() method. - * - * @param uriInfo - * @return - */ - @GET - @Produces(MediaType.APPLICATION_JSON) - public Response getRootDoc(@Context javax.ws.rs.core.UriInfo uriInfo); - - /** - * Generates Swagger compliant document listing APIs for module. - * - * @param module - * @param revision - * @param uriInfo - * @return - */ - @GET - @Path("/{module},{revision}") - @Produces(MediaType.APPLICATION_JSON) - public Response getDocByModule(@PathParam("module") String module, - @PathParam("revision") String revision, - @Context javax.ws.rs.core.UriInfo uriInfo); - - /** - * Redirects to embedded swagger ui. - * - * @param uriInfo - * @return - */ - @GET - @Path("/ui") - @Produces(MediaType.TEXT_HTML) - public Response getApiExplorer(@Context javax.ws.rs.core.UriInfo uriInfo); + /** + * Generates index document for Swagger UI. This document lists out all + * modules with link to get APIs for each module. The API for each module is + * served by getDocByModule() method. + * + * @param uriInfo + * @return + */ + @GET + @Produces(MediaType.APPLICATION_JSON) + public Response getRootDoc(@Context javax.ws.rs.core.UriInfo uriInfo); + + /** + * Generates Swagger compliant document listing APIs for module. + * + * @param module + * @param revision + * @param uriInfo + * @return + */ + @GET + @Path("/{module}({revision})") + @Produces(MediaType.APPLICATION_JSON) + public Response getDocByModule(@PathParam("module") String module, + @PathParam("revision") String revision, @Context javax.ws.rs.core.UriInfo uriInfo); + + /** + * Redirects to embedded swagger ui. + * + * @param uriInfo + * @return + */ + @GET + @Path("/ui") + @Produces(MediaType.TEXT_HTML) + public Response getApiExplorer(@Context javax.ws.rs.core.UriInfo uriInfo); + + /** + * Generates index document for Swagger UI. This document lists out all + * modules with link to get APIs for each module. The API for each module is + * served by getDocByModule() method. + * + * @param uriInfo + * @return + */ + @GET + @Path("/mounts") + @Produces(MediaType.APPLICATION_JSON) + public Response getListOfMounts(@Context javax.ws.rs.core.UriInfo uriInfo); + + @GET + @Path("/mounts/{instance}") + @Produces(MediaType.APPLICATION_JSON) + public Response getMountRootDoc(@PathParam("instance") String instanceNum, + @Context javax.ws.rs.core.UriInfo uriInfo); + + /** + * Generates Swagger compliant document listing APIs for module. + * + * @param module + * @param revision + * @param uriInfo + * @return + */ + @GET + @Path("/mounts/{instance}/{module}({revision})") + @Produces(MediaType.APPLICATION_JSON) + public Response getMountDocByModule(@PathParam("instance") String instanceNum, + @PathParam("module") String module, @PathParam("revision") String revision, + @Context javax.ws.rs.core.UriInfo uriInfo); + }