• SpringMVC融合Swagger UI使用


      相信大家都很熟悉springmvc,在用其进行开发工作的时候,有没有遇到几个小问题?比如:

      1.前后端分离的模式下,前端开发人员如何得知后端的开发进度,有哪些接口可用?

      2.后端开发人员在测试自己的接口时,还要找一些http请求工具来测试。

      3.接口的简要参数说明文档如何生成?

      以上的问题,可能导致了前后端配合的不顺,或者开发的延缓。

      那么swagger ui是什么呢?它是一种在线API在线文档生成,以及提供在线测试,是一款很强大的插件,下面简单介绍下它的使用方法:

      1.在自己的工程中加入SwaggerConfig.java,路径随意,代码如下:

    @EnableSwagger2
    public class SwaggerConfig {
        @Bean
        public Docket docket() {
            return new Docket(DocumentationType.SWAGGER_2)
                    .apiInfo(apiInfo())
                    .useDefaultResponseMessages(false);
        }
        private ApiInfo apiInfo() {
            return new ApiInfoBuilder()
                    .title("Api Documents")
                    .contact(new Contact("Shildon", "", "shildondu@gmail.com"))
                    .build();
        }
    }

      2.在pom.xml配置文件中加入相关jar的依赖配置:

         <dependency>
                <groupId>io.springfox</groupId>
                <artifactId>springfox-swagger2</artifactId>
                <version>2.6.1</version>
            </dependency>
            <dependency>
                <groupId>io.springfox</groupId>
                <artifactId>springfox-swagger-ui</artifactId>
                <version>2.6.1</version>
            </dependency>
            <dependency>
                <groupId>com.fasterxml.jackson.core</groupId>
                <artifactId>jackson-annotations</artifactId>
                <version>2.2.3</version>
            </dependency>
            <dependency>
                <groupId>com.fasterxml.jackson.core</groupId>
                <artifactId>jackson-core</artifactId>
                <version>2.2.3</version>
            </dependency>
            <dependency>
                <groupId>com.fasterxml.jackson.core</groupId>
                <artifactId>jackson-databind</artifactId>
                <version>2.2.3</version>
            </dependency>

      3.在application配置文件中加入bean的配置:

      <bean class="com.**.**.SwaggerConfig"/>

      4.在application配置文件中加入swagger相关的静态资源访问的配置:

        <mvc:annotation-driven/>
        <mvc:resources mapping="swagger-ui.html" location="classpath:/META-INF/resources/"/>
        <mvc:resources mapping="/webjars/**" location="classpath:/META-INF/resources/webjars/"/>    

      5.相关配置全都结束,写一个测试controller,通过@ApiOperation注解来表名该api的用途

    public class HealthStatusController {
    
        @ApiOperation("健康检查")
        @RequestMapping(value="/health/status",method = RequestMethod.GET)
        @ResponseBody
        public String getServerStatus() {
            return "ok";
        }
    }

      6.通过localhost:8080/swagger-ui.html访问即可到swagger界面,通过Try it out!按钮可以进行在线测试了 

      最后,温馨提示:上面图片的右上角有一个,其实是为了用来获取所有api的信息的内置接口,需要在web.xml中增加配置

        <servlet-mapping>
            <servlet-name>servletName</servlet-name>
            <url-pattern>/v2/api-docs</url-pattern>
        </servlet-mapping>

      这样,就可以通过localhost:8080/v2/api-docs获取api的信息啦,返回的是json,如下:

      

       当然,swagger的功能不仅这么简单,还有很多注解可满足各种功能!!!

  • 相关阅读:
    为CheckBoxList每个项目添加一张图片
    计算字符串中各个字符串出现的次数
    显示相同数字相乘的结果,直到数值大于150为止
    实例4 函数的引用调用
    嵌入式BootLoader技术内幕(二)
    实例2 关系和逻辑运算
    linux环境变量的系统设置
    嵌入式BootLoader技术内幕(三)
    supervivi的一点秘密
    Bootloader之vivi
  • 原文地址:https://www.cnblogs.com/handsomeye/p/7285192.html
Copyright © 2020-2023  润新知