swagger用法

飞一样的编程
飞一样的编程
擅长邻域:Java,MySQL,Linux,nginx,springboot,mongodb,微信小程序,vue

分类: ssm 专栏: 爱旅行项目 标签: swagger在线接口文档技术

2023-02-28 15:05:59 651浏览

swagger在线接口文档技术

在线接口文档,多人协同开发中用的多

ssm项目中使用需要引入的依赖

  <!-- swagger2 -->
        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger2</artifactId>
            <version>2.4.0</version>
            <exclusions>
                <exclusion>
                    <groupId>org.springframework</groupId>
                    <artifactId>spring-aop</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>com.fasterxml</groupId>
                    <artifactId>classmate</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger-ui</artifactId>
            <version>2.4.0</version>
            <exclusions>
                <exclusion>
                    <groupId>org.springframework</groupId>
                    <artifactId>spring-aop</artifactId>
                </exclusion>
            </exclusions>
        </dependency>

写一个配置类

package com.bdqn.auth.config;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurationSupport;
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;

/**
 * Swagger API文档生成工具初始化配置信息
 * <br/>
 * 要求jdk8
 * @author hduser
 *
 */
//@EnableWebMvc
@EnableSwagger2
@Configuration
public class SwaggerConfig extends WebMvcConfigurationSupport {

	/**
	 * 通过createRestApi函数创建Docket的Bean之后,
	 * apiInfo()用来创建该Api的基本信息(这些基本信息会展现在文档页面中)
	 * select()函数返回一个ApiSelectorBuilder实例用来控制哪些接口暴露给Swagger来展现,
	 * apis()函数扫描所有Controller中定义的API, 并产生文档内容(除了被@ApiIgnore指定的请求)
	 * @return
	 */
	@Bean
	public Docket createRestApi() {
		/*List<Parameter> operationParameters=new ArrayList<Parameter>();
		ParameterBuilder pb = new ParameterBuilder();
		pb.name("token")
			.description("用户认证凭据")
			.modelRef(new ModelRef("string"))
			.parameterType("header").required(false).build();
		Parameter e=pb.build();
		operationParameters.add(e);*/

		return new Docket(DocumentationType.SWAGGER_2)
//				.globalOperationParameters(operationParameters)
				.apiInfo(apiInfo())
				.select()
				.apis(RequestHandlerSelectors.any())
				.paths(PathSelectors.any())
				.build();

	}

	/**
	 * 创建该Api的基本信息(这些基本信息会展现在文档页面中)
	 * @return
	 */
	private ApiInfo apiInfo() {
		return new ApiInfoBuilder()
				.title("爱旅行-用户认证模块API")
				.termsOfServiceUrl("http://www.itrip.com/auth")
				.contact("1913284695@qq.com")
				.version("1.0")
				.build();
	}
}

springmvc配置文件扫描上面的配置类

    <context:component-scan base-package="com.bdqn.auth.config"/>

页面访问

项目根目录/swagger-ui.html

基本用法

如何传json对象

对应注解:

如何传带?拼接传参数

对应注解:

Form表单传参

对应注解:

如何带请求头

对应注解:

好博客就要一起分享哦!分享海报

此处可发布评论

评论(0展开评论

暂无评论,快来写一下吧

展开评论

您可能感兴趣的博客

客服QQ 1913284695