Browse Source

1、新增swagger接口文档管理功能

liutielin 3 years ago
parent
commit
09fce0462d

+ 18 - 2
pom.xml

@@ -81,11 +81,11 @@
 			<artifactId>spring-session-data-redis</artifactId>
 		</dependency>
         <!-- 热部署配置. -->
-        <!-- <dependency>
+        <dependency>
             <groupId>org.springframework.boot</groupId>
             <artifactId>spring-boot-devtools</artifactId>
             <optional>true</optional>
-        </dependency> -->
+        </dependency>
 		<dependency>
 			<groupId>mysql</groupId>
 			<artifactId>mysql-connector-java</artifactId>
@@ -240,6 +240,22 @@
 			<artifactId>slf4j-api</artifactId>
 			<version>1.7.25</version>
 		</dependency>
+		<!-- swagger rest api -->
+		<dependency>
+			<groupId>io.springfox</groupId>
+			<artifactId>springfox-swagger-ui</artifactId>
+			<version>2.9.2</version>
+		</dependency>
+		<dependency>
+            <groupId>com.github.xiaoymin</groupId>
+            <artifactId>swagger-bootstrap-ui</artifactId>
+            <version>1.8.7</version>
+        </dependency>
+		<dependency>
+			<groupId>io.springfox</groupId>
+			<artifactId>springfox-swagger2</artifactId>
+			<version>2.9.2</version>
+		</dependency>
 
 	</dependencies>
 	<build>

+ 52 - 0
src/main/java/com/up/sell/config/Swagger2Config.java

@@ -0,0 +1,52 @@
+package com.up.sell.config;
+
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import springfox.documentation.builders.ApiInfoBuilder;
+import springfox.documentation.builders.PathSelectors;
+import springfox.documentation.builders.RequestHandlerSelectors;
+import springfox.documentation.service.ApiInfo;
+import springfox.documentation.spi.DocumentationType;
+import springfox.documentation.spring.web.plugins.Docket;
+import springfox.documentation.swagger2.annotations.EnableSwagger2;
+import java.util.HashSet;
+import java.util.Set;
+ 
+//参考:http://blog.csdn.net/catoop/article/details/50668896
+@Configuration
+@EnableSwagger2
+public class Swagger2Config {
+	@Value("${youpu.swagger.enabled:true}")
+    Boolean swaggerEnabled;
+ 
+    @Bean
+    public Docket createRestApi() {
+        //=====添加head参数start============================
+        Set<String> consumes = new HashSet<>();
+        consumes.add("application/x-www-form-urlencoded");
+        Set<String> produces = new HashSet<>();
+        produces.add("application/json;charset=UTF-8");
+        
+        return new Docket(DocumentationType.SWAGGER_2)
+                //是否开启
+                .enable(swaggerEnabled).select()
+                .apis(RequestHandlerSelectors.basePackage("com.up.sell.controller.api"))
+                .paths(PathSelectors.any())
+                .build()
+                .consumes(consumes)
+                .produces(produces)
+                .apiInfo(apiInfo());
+    }
+ 
+    private ApiInfo apiInfo() {
+        return new ApiInfoBuilder()
+                .title("Spring Boot使用 Swagger2 构建RestFul API")
+                //版本号
+                .version("1.0")
+                //描述
+                .description("CBMLS系统动态创建房源表接口")
+                .build();
+    }
+ 
+}

+ 10 - 0
src/main/java/com/up/sell/config/WebMvcConfig.java

@@ -12,6 +12,7 @@ import org.springframework.format.datetime.DateFormatter;
 import org.springframework.http.converter.HttpMessageConverter;
 import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter;
 import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
+import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
 import org.springframework.web.servlet.config.annotation.WebMvcConfigurationSupport;
 
 import com.up.sell.interceptor.LoginInteceptor;
@@ -43,5 +44,14 @@ public class WebMvcConfig extends WebMvcConfigurationSupport {
 	protected void configureMessageConverters(List<HttpMessageConverter<?>> converters) {
         converters.add(new MappingJackson2HttpMessageConverter(new SpringObjectMapper()));
 	}
+	
+	@Override
+	 public void addResourceHandlers(ResourceHandlerRegistry registry) {
+	 registry.addResourceHandler("/**").addResourceLocations("classpath:/static/");
+	 registry.addResourceHandler("swagger-ui.html")
+	 .addResourceLocations("classpath:/META-INF/resources/");
+	 registry.addResourceHandler("/webjars/**")
+	 .addResourceLocations("classpath:/META-INF/resources/webjars/");
+	 }
 
 }

+ 12 - 2
src/main/java/com/up/sell/controller/api/ProjectManagerController.java

@@ -28,10 +28,16 @@ import com.up.sell.util.ServletUtils;
 import com.up.sell.vo.Member;
 import com.up.sell.vo.ResultObject;
 
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiImplicitParams;
+import io.swagger.annotations.ApiOperation;
+
 /**
  * @author zmg
  *
  */
+@Api(value="ProjectManagerController",tags={"项目流程审核接口集"})
 @RestController
 @RequestMapping(value = "/projectManager")
 public class ProjectManagerController extends AbstractController {
@@ -249,11 +255,15 @@ public class ProjectManagerController extends AbstractController {
 	/**
 	 * 多次到访备注录入
 	 */
+	@ApiOperation("新增到访备注接口(多次)")
+	@ApiImplicitParams({@ApiImplicitParam(name = "picPath", value = "图片路径", required = true, paramType = "create", dataType = "String"),
+					@ApiImplicitParam(name = "description", value = "备注说明", required = true, paramType = "create", dataType = "String"),
+					@ApiImplicitParam(name = "orderId", value = "流程ID", required = true, paramType = "create", dataType = "String")})
 	@PostMapping("/auth/addDescr")
-	public ResultObject addDescAndPic(HttpServletRequest request,String picPath,String description,Integer id) {
+	public ResultObject addDescAndPic(HttpServletRequest request,String picPath,String description,Integer orderId) {
 		ResultObject resultObject = new ResultObject();
 		try {
-			projectService.updateDescrAndPic(picPath, description, id);
+			projectService.updateDescrAndPic(picPath, description, orderId);
 		}catch (ResultException e) {
 			resultObject.setCode(e.getCode());
 			resultObject.setMessage(e.getMessage());

+ 9 - 0
src/main/java/com/up/sell/controller/api/TeamController.java

@@ -20,6 +20,12 @@ import com.up.sell.util.ResultException;
 import com.up.sell.util.ServletUtils;
 import com.up.sell.vo.ResultObject;
 
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiImplicitParams;
+import io.swagger.annotations.ApiOperation;
+
+@Api(value="TeamController",tags={"团队管理接口集"})
 @RestController
 @RequestMapping("team/auth")
 public class TeamController extends AbstractController{
@@ -173,6 +179,9 @@ public class TeamController extends AbstractController{
 	 * @param request
 	 * @return
 	 */
+	@ApiOperation("加入团队接口")
+	@ApiImplicitParams({@ApiImplicitParam(name = "teamId", value = "团队Id", required = true, paramType = "create", dataType = "String"),
+					@ApiImplicitParam(name = "memberId", value = "用户Id", required = true, paramType = "create", dataType = "String")})
 	@PostMapping("joinTeam")
 	public ResultObject joinTeam(HttpServletRequest request) {
 		ResultObject resultObject = new ResultObject();