swagger生成接口文档和map类型参数解析

Posted zhumiao

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了swagger生成接口文档和map类型参数解析相关的知识,希望对你有一定的参考价值。

一:swagger是什么?

1、是一款让你更好的书写API文档的规范且完整框架。
2、提供描述、生产、消费和可视化RESTful Web Service。
3、是由庞大工具集合支撑的形式化规范。这个集合涵盖了从终端用户接口、底层代码库到商业API管理的方方面面。

方法一:使用第三方依赖(最简单的方法)

1、在pom.xml文件中添加第三方swagger依赖()

技术分享图片
    <dependency>
        <groupId>com.spring4all</groupId>
        <artifactId>swagger-spring-boot-starter</artifactId>
        <version>1.7.0.RELEASE</version>
    </dependency>
View Code

 

2、在Spring Boot项目的启动类上添加@EnableSwagger2Doc注解,就可以直接使用啦。 
3、https://github.com/SpringForAll/spring-boot-starter-swagger这是GitHub上这个swagger依赖实现的项目,里面有详细的讲解。

方法二:使用官方依赖

1、在pom.xml文件中添加swagger相关依赖
技术分享图片
 <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger2</artifactId>
            <version>${springfox-version}</version>
        </dependency>
        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger-ui</artifactId>
            <version>${springfox-version}</version>
        </dependency>
View Code
第一个是API获取的包,第二是官方给出的一个ui界面。这个界面可以自定义,默认是官方的,对于安全问题,以及ui路由设置需要着重思考。
2、swagger的configuration

需要特别注意的是swagger scan base package,这是扫描注解的配置,即你的API接口位置。

技术分享图片
@Configuration
@EnableSwagger2
public class Swagger2 {

        @Bean
        public Docket createRestApi() {
            return new Docket(DocumentationType.SWAGGER_2)
                    .apiInfo(apiInfo())
                    .select()
                    .apis(RequestHandlerSelectors.basePackage("com.yss.ms.admin"))
                    .paths(PathSelectors.any())
                    .build();
        }

        private ApiInfo apiInfo() {
            return new ApiInfoBuilder()
                    .title("服务:发布为daocke镜像,权限管理,用户管理,页面管理,日志 后台 APIs")
                    .description("服务:发布为daocke镜像,权限管理,用户管理,页面管理,日志 后台")
                    .termsOfServiceUrl("http://192.168.103.198:10070/platformgroup/ms-admin")
                    .contact("程序猿DD")
                    .version("1.0")
                    .build();
        }

    }
View Code

三、具体使用

1、在API上做一些声明
技术分享图片
@RequestMapping("/swagger/test/map")
    @ApiOperation(value="xxxx", tags = "xxxx")
    @ApiImplicitParams({
            @ApiImplicitParam(name="name", dataType = "string", value = "only return models...")
    })
    @ApiResponses(value = {
            @ApiResponse(code = 200, message="Indicates ..."),
            @ApiResponse(code = 404, message = "not found error")
    })
    public Result<String> testSwaggerMap(Map map){
        return null;
    }
View Code

 

以上是关于swagger生成接口文档和map类型参数解析的主要内容,如果未能解决你的问题,请参考以下文章

使用swagger传递map类型的参数报错406

Spring Boot 集成 Swagger,再也不写接口文档了!

swagger使用

用Swagger生成接口文档

用Swagger生成接口文档

转:Swagger2自动生成接口文档和Mock模拟数据