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;
}
}