package tech.pdai.springboot.swagger.config;
import io.swagger.annotations.ApiOperation;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.bind.annotation.RequestMethod;
import springfox.documentation.builders.*;
import springfox.documentation.schema.ModelRef;
import springfox.documentation.service.ApiInfo;
import springfox.documentation.service.Contact;
import springfox.documentation.service.Parameter;
import springfox.documentation.service.ResponseMessage;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2;
import tech.pdai.springboot.swagger.constant.ResponseStatus;
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
/**
* swagger config.
*
* @author pdai
*/
@Configuration
@EnableSwagger2
public class SwaggerConfig {
/**
* @return swagger config
*/
@Bean
public Docket openApi() {
return new Docket(DocumentationType.SWAGGER_2)
.groupName("Test Group")
.apiInfo(apiInfo())
.select()
.apis(RequestHandlerSelectors.withMethodAnnotation(ApiOperation.class))
.paths(PathSelectors.any())
.build()
.globalOperationParameters(getGlobalRequestParameters())
.globalResponseMessage(RequestMethod.GET, getGlobalResponse());
}
/**
* @return global response code->description
*/
private List<ResponseMessage> getGlobalResponse() {
return ResponseStatus.HTTP_STATUS_ALL.stream().map(
a -> new ResponseMessageBuilder().message(a.getDescription())
.code(Integer.parseInt(a.getResponseCode())).build())
.collect(Collectors.toList());
}
/**
* @return global request parameters
*/
private List<Parameter> getGlobalRequestParameters() {
List<Parameter> parameters = new ArrayList<>();
parameters.add(new ParameterBuilder()
.name("AppKey")
.description("App Key")
.defaultValue("app-key-xxx-1")
.modelRef(new ModelRef("String"))
.required(false)
.build());
return parameters;
}
/**
* @return api info
*/
private ApiInfo apiInfo() {
return new ApiInfoBuilder()
.title("Swagger API")
.description("test api")
.contact(new Contact("pdai", "http://pdai.tech", "[email protected]"))
.termsOfServiceUrl("http://xxxxxx.com/")
.version("1.0")
.build();
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
111-springboot-demo-swagger-v2.rar

共10个文件
java:9个
xml:1个

需积分: 0 0 下载量 75 浏览量
2023-03-07
17:40:15
上传
评论
收藏 7KB RAR 举报
温馨提示
SpringBoot接口 - 如何生成接口文档之Swagger技术栈准备知识点什么是OpenAPI规范(OAS)?什么是Swagger?Swagger和SpringFox有啥关系?什么是Knife4J? 和Swagger什么关系?实现案例之Swagger3POMSwagger Configcontroller接口运行测试实现案例之Knife4JPOMyml配置注入配置Controller接口运行测试示例源码 什么是Swagger?Swagger 是一个用于生成、描述和调用 RESTful 接口的 Web 服务。通俗的来讲,Swagger 就是将项目中所有(想要暴露的)接口展现在页面上,并且可以进行接口调用和测试的服务。从上述 Swagger 定义我们不难看出 Swagger 有以下 3 个重要的作用:将项目中所有的接口展现在页面上,这样后端程序员就不需要专门为前端使用者编写专门的接口文档;当接口更新之后,只需要修改代码中的 Swagger 描述就可以实时生成新的接口文档了,从而规避了接口文档老旧不能使用的问题;通过 Swagger 页面,我们可以直接进行接口调用,降低了项目开发阶段的调
资源推荐
资源详情
资源评论




























收起资源包目录

























共 10 条
- 1
资源评论


毕设王同学
- 粉丝: 131
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈



安全验证
文档复制为VIP权益,开通VIP直接复制
