Commit b878d171 by guominglei

集成swagger

parent 8bbeeed6
......@@ -39,10 +39,51 @@
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
</dependency>
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>20.0</version>
</dependency>
</dependencies>
<build>
<finalName>${project.artifactId}</finalName>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<!-- 指定SpringBoot程序的main函数入口类 -->
<mainClass>com.byit.AdminApplication</mainClass>
</configuration>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.8</source>
<target>1.8</target>
<encoding>UTF-8</encoding>
<compilerArguments>
<!-- 打包本地jar包 -->
<extdirs>${project.basedir}/lib</extdirs>
</compilerArguments>
</configuration>
</plugin>
<plugin>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-maven-plugin</artifactId>
......
......@@ -16,7 +16,7 @@ import javax.annotation.Resource;
* @author: gml
* @create: 2019-12-30 14:20
*/
@Api(tags = "工作流api")
@Api(description = "工作流api")
@RestController
@RequestMapping("api/flow")
public class ApiFlowController {
......
package com.byit.api;
import com.byit.job.dto.plugin.PluginFlow;
import com.byit.service.ApiWorkspaceService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
......@@ -16,7 +14,7 @@ import javax.annotation.Resource;
* @author: gml
* @create: 2019-12-31 11:19
*/
@Api(tags = "工作空间api")
@Api(description = "工作空间api")
@RestController
@RequestMapping("api/workspace")
public class ApiWorkspaceController {
......
package com.byit.config;
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.service.Contact;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2;
@Configuration
@EnableSwagger2
public class SwaggerConfig{
@Bean
public Docket api() {
return new Docket(DocumentationType.SWAGGER_2)
.select()
.apis(RequestHandlerSelectors.basePackage("com.byit"))
.paths(PathSelectors.any())
.build()
.apiInfo(apiInfo());
}
//构建 api文档的详细信息函数,注意这里的注解引用的是哪个
private ApiInfo apiInfo() {
return new ApiInfoBuilder()
//页面标题
.title("Myth-Job 项目集成Swagger接口文档")
//创建人
.contact(new Contact("gml", "", ""))
//版本号
.version("1.0")
//描述
.description("接口描述")
.build();
}
}
\ No newline at end of file
package com.byit.config;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;
/**
* @description:
* @author: gml
* @create: 2020-01-06 13:53
*/
@Configuration
public class WebMvcConfig extends WebMvcConfigurerAdapter {
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("swagger-ui.html")
.addResourceLocations("classpath:/META-INF/resources/");
registry.addResourceHandler("/webjars/**")
.addResourceLocations("classpath:/META-INF/resources/webjars/");
}
}
......@@ -18,7 +18,7 @@ import java.util.List;
* @author: gml
* @create: 2019-12-23 15:25
*/
@Api(tags = "工作流")
@Api(description = "工作流")
@RestController
@RequestMapping("flow")
public class FlowController {
......
......@@ -6,6 +6,7 @@ import org.springframework.core.MethodParameter;
import org.springframework.http.MediaType;
import org.springframework.http.server.ServerHttpRequest;
import org.springframework.http.server.ServerHttpResponse;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.RestControllerAdvice;
import org.springframework.web.servlet.mvc.method.annotation.ResponseBodyAdvice;
......@@ -19,7 +20,10 @@ import org.springframework.web.servlet.mvc.method.annotation.ResponseBodyAdvice;
public class ResponseAdvice implements ResponseBodyAdvice {
@Override
public boolean supports(MethodParameter methodParameter, Class aClass) {
return true;
if (aClass.isAnnotationPresent(RestController.class)){
return true;
}
return false;
}
/**
*
......
......@@ -63,8 +63,8 @@
<byit.validation.starter>1.0-SNAPSHOT</byit.validation.starter>
<mysql-connector-java.version>5.1.47</mysql-connector-java.version>
<springfox-swagger2.version>2.7.0</springfox-swagger2.version>
<springfox-swagger-ui>2.7.0</springfox-swagger-ui>
<springfox-swagger2.version>2.9.2</springfox-swagger2.version>
<springfox-swagger-ui>2.9.2</springfox-swagger-ui>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment