zoukankan      html  css  js  c++  java
  • Springboot+Swagger

    先图片后代码

    第一步:在pom.xml文件上添加Swagger依赖

            <!--Swagger API获取的包-->
    		<dependency>
    			<groupId>io.springfox</groupId>
    			<artifactId>springfox-swagger2</artifactId>
    			<version>2.8.0</version>
    		</dependency>
    		<!--Swagger 官方给出的一个ui界面,这个界面可以自定义,默认是官方的-->
    		<dependency>
    			<groupId>io.springfox</groupId>
    			<artifactId>springfox-swagger-ui</artifactId>
    			<version>2.8.0</version>
    		</dependency>
    		<!--Swagger 测试数据以JSON格式返回的依赖包-->
    		<dependency>
    			<groupId>org.codehaus.jackson</groupId>
    			<artifactId>jackson-core-asl</artifactId>
    			<version>1.9.13</version>
    		</dependency>
    

    第二步:配置Swagger

    新建Swagger配置类,特别注意图片标红的地方是扫描你接口的包名,这是扫描注解的配置,即你的API接口位置,对前端提供服务接口的位置。

    @Configuration
    @EnableSwagger2
    public class SwaggerConfig {
        @Bean
        public Docket createRestApi() {// 创建API基本信息
    
            List<springfox.documentation.service.Parameter> pars = new ArrayList<>();
            ParameterBuilder ticketPar = new ParameterBuilder();
            ticketPar.name("token").description("user token")
                    .modelRef(new ModelRef("string")).parameterType("header")
                    .required(false).build(); //header中的token参数非必填,传空也可以
    
            pars.add(ticketPar.build());    //根据每个方法名也知道当前方法在设置
    
    //        ticketPar = new ParameterBuilder();
            ticketPar.name("source").description("user source ")
                    .modelRef(new ModelRef("string")).parameterType("header")
                    .required(false).build(); //header中的source参数非必填,传空也可以
    
            pars.add(ticketPar.build());    //根据每个方法名也知道当前方法在设置
    
            return new Docket(DocumentationType.SWAGGER_2)
                    .apiInfo(apiInfo())
                    .select()
                    .apis(RequestHandlerSelectors.basePackage("com.aaa.controller"))// 扫描该包下的所有需要在Swagger中展示的API,@ApiIgnore注解标注的除外
                    .paths(PathSelectors.any())
                    .build().globalOperationParameters(pars);
        }
    
        private ApiInfo apiInfo() {// 创建API的基本信息,这些信息会在Swagger UI中进行显示
            return new ApiInfoBuilder()
                    .title("开发接口API文档")// API 标题
                    .description("<h4>更新日志</h4>")// API描述
                    .contact("ZHL")// 联系人
                    .version("v1.0")// 版本号
                    .build();
        }
    
    }

    第三步:编辑Controller层

    @RestController
    @Api(value = "登录控制器")
    public class LoginController {
    
    
        @GetMapping("/test")
        @ApiOperation(value = "查询班级", notes = "根据名称查询班级中的学生")
        @ApiImplicitParams({
                @ApiImplicitParam(paramType = "query", name = "name", value = "学生名1", required = true, dataType = "String", example = "大朱"),
                @ApiImplicitParam(paramType = "query", name = "name2", value = "学生名2", required = true, dataType = "String", example = "小朱"),
                @ApiImplicitParam(paramType = "query", name = "name3", value = "学生名3", required = true, dataType = "String", example = "小熊")
        })
        public Object queryS(String name, String name2, String name3) {
    
    
            return null;
        }
    }
    

      

    第四步:在application.yml添加Swagger的path(json的访问request mapping.可以自定义,防止与自身代码冲突)

      API doc的显示路由是:http://localhost:8081/swagger-ui.html 这是我自己的端口

    springfox:
      documentation:
        swagger:
          v2:
            path: /api-docs

    第五步:启动Springboot查看效果

    http://localhost:8081/swagger-ui.html

  • 相关阅读:
    Node.js入门 Hello World
    Select自动下拉实现
    js从url截取参数(简写)
    如何关闭SQL Server受影响行数
    适用于多种查询结果集的分页(不要存储过程,简单易懂)
    单条件存储过程分页(SQL Server)&WS调用(只是其中一种 实现的方法还有很多)
    Simple Package Tool 学习
    Python try/except/finally等
    Python os.path模块
    《UVM实战》代码示例
  • 原文地址:https://www.cnblogs.com/BigPig-Winnie/p/11798965.html
Copyright © 2011-2022 走看看