diff --git a/sop-example/sop-springmvc/pom.xml b/sop-example/sop-springmvc/pom.xml index 363c5058..2e6a2013 100644 --- a/sop-example/sop-springmvc/pom.xml +++ b/sop-example/sop-springmvc/pom.xml @@ -91,6 +91,18 @@ 1.2.17 + + + io.springfox + springfox-swagger2 + 2.9.2 + + + com.github.xiaoymin + swagger-bootstrap-ui + 1.9.5 + + diff --git a/sop-example/sop-springmvc/src/main/java/com/gitee/app/config/Swagger2.java b/sop-example/sop-springmvc/src/main/java/com/gitee/app/config/Swagger2.java new file mode 100644 index 00000000..d09fd292 --- /dev/null +++ b/sop-example/sop-springmvc/src/main/java/com/gitee/app/config/Swagger2.java @@ -0,0 +1,21 @@ +package com.gitee.app.config; + +import com.gitee.sop.servercommon.swagger.SwaggerSupport; +import springfox.documentation.swagger2.annotations.EnableSwagger2; + +/** + * 开启文档,本地微服务文档地址:http://localhost:2222/doc.html + * http://ip:port/v2/api-docs + */ +@EnableSwagger2 +public class Swagger2 extends SwaggerSupport { + @Override + protected String getDocTitle() { + return "MVC_API"; + } + + @Override + protected boolean swaggerAccessProtected() { + return false; + } +} \ No newline at end of file diff --git a/sop-example/sop-springmvc/src/main/java/com/gitee/app/HomeController.java b/sop-example/sop-springmvc/src/main/java/com/gitee/app/controller/HomeController.java similarity index 87% rename from sop-example/sop-springmvc/src/main/java/com/gitee/app/HomeController.java rename to sop-example/sop-springmvc/src/main/java/com/gitee/app/controller/HomeController.java index 04a5d638..7028c51b 100644 --- a/sop-example/sop-springmvc/src/main/java/com/gitee/app/HomeController.java +++ b/sop-example/sop-springmvc/src/main/java/com/gitee/app/controller/HomeController.java @@ -1,7 +1,9 @@ -package com.gitee.app; +package com.gitee.app.controller; import com.gitee.app.model.Goods; import com.gitee.sop.servercommon.annotation.ApiMapping; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.stereotype.Controller; @@ -18,6 +20,7 @@ import java.util.Locale; /** * Handles requests for the application home page. */ +@Api(tags = "MVC接口") @Controller public class HomeController { @@ -41,6 +44,7 @@ public class HomeController { } + @ApiOperation(value="获取商品", notes = "获取商品说明") @ApiMapping(value = "springmvc.goods.get") @ResponseBody public Goods getGoods(Goods param) { diff --git a/sop-example/sop-springmvc/src/main/webapp/WEB-INF/spring/appServlet/servlet-context.xml b/sop-example/sop-springmvc/src/main/webapp/WEB-INF/spring/appServlet/servlet-context.xml index 2956e9bb..e27b63be 100644 --- a/sop-example/sop-springmvc/src/main/webapp/WEB-INF/spring/appServlet/servlet-context.xml +++ b/sop-example/sop-springmvc/src/main/webapp/WEB-INF/spring/appServlet/servlet-context.xml @@ -34,6 +34,11 @@ + + + + + diff --git a/sop-example/sop-springmvc/src/main/webapp/WEB-INF/web.xml b/sop-example/sop-springmvc/src/main/webapp/WEB-INF/web.xml index b7dfa271..630564eb 100644 --- a/sop-example/sop-springmvc/src/main/webapp/WEB-INF/web.xml +++ b/sop-example/sop-springmvc/src/main/webapp/WEB-INF/web.xml @@ -29,6 +29,29 @@ 1 + + + + appServlet + /v2/api-docs + + + appServlet + /swagger-resources + + + appServlet + /swagger-resources/configuration/ui + + + appServlet + /swagger-resources/configuration/security + + + + appServlet + /v2/api-docs-ext + appServlet diff --git a/sop-website/src/main/java/com/gitee/sop/websiteserver/listener/ServiceDocListener.java b/sop-website/src/main/java/com/gitee/sop/websiteserver/listener/ServiceDocListener.java index dd3eed10..9583c7c7 100644 --- a/sop-website/src/main/java/com/gitee/sop/websiteserver/listener/ServiceDocListener.java +++ b/sop-website/src/main/java/com/gitee/sop/websiteserver/listener/ServiceDocListener.java @@ -1,6 +1,7 @@ package com.gitee.sop.websiteserver.listener; import com.gitee.sop.gatewaycommon.bean.InstanceDefinition; +import com.gitee.sop.gatewaycommon.bean.SopConstants; import com.gitee.sop.gatewaycommon.route.BaseServiceListener; import com.gitee.sop.websiteserver.manager.DocManager; import lombok.extern.slf4j.Slf4j; @@ -45,6 +46,7 @@ public class ServiceDocListener extends BaseServiceListener { private static String getRouteRequestUrl(InstanceDefinition instance) { String query = buildQuery(SECRET); - return "http://" + instance.getIp() + ":" + instance.getPort() + "/v2/api-docs" + query; + String contextPath = instance.getMetadata().getOrDefault(SopConstants.METADATA_SERVER_CONTEXT_PATH, ""); + return "http://" + instance.getIp() + ":" + instance.getPort() + contextPath + "/v2/api-docs" + query; } }