zoukankan      html  css  js  c++  java
  • spring boot集成最新swagger2构建Restful API

    一、pom文件下加入以下依赖

    <dependency>
      <groupId>io.springfox</groupId>
      <artifactId>springfox-swagger2</artifactId>
      <version>2.8.0</version>
    </dependency>
    <dependency>
      <groupId>io.springfox</groupId>
      <artifactId>springfox-swagger-ui</artifactId>
      <version>2.8.0</version>
    </dependency>   

    版本信息,可以通过swagger官网查询,或通过maven仓库搜索

    二、在项目中加入配置类

    import org.springframework.context.annotation.Configuration;
    
    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;
    
    @Configuration
    @EnableSwagger2
    public class Swagger2Config {
        public Docket createRestApi(){
            return new Docket(DocumentationType.SWAGGER_2)
            .apiInfo(apiInfo())
            .select()
         .apis(RequestHandlerSelectors.basePackage("com.example"))
            .paths(PathSelectors.any())
            .build();
        }
        
        private ApiInfo apiInfo(){
            return new ApiInfoBuilder()
                .title("Spring Boot————Swagger2构建Restful APIs")
                .description("消息中心使用")
                .termsOfServiceUrl("https://swagger.io")
                .version("1.0")
                .build();
        }
    }

    三、在对应的controller中使用Restful Api的相关注解,如下:

    //代替@responsebody和@Controller,返回json格式
    @RestController
    //方法的描述
    @ApiOperation
    //单个参数
    @ApiImplicitParam(name = "",value = "",requires = true/false,dataType = "")
    //多个参数
    @ApiImplicitParams{
      @ApiImplicitParam(name = "",value = "",requires = true/false,dataType = ""),
      @ApiImplicitParam(name = "",value = "",requires = true/false,dataType = "")  
    }
    //配置url映射
    @RequestMapping
    //url中占位参数
    @PathVariable

    开启本地服务,访问http://localhost:8080/swagger-ui.html,即可看到相应界面!

    附:RESTFUL API各请求方法如下,

      1.GET

      一般用于执行查询操作。get请求中URL有长度限制,并且url中的数据都明文暴露。

      2.POST

      在做一些修改的操作的时候使用,突破了长度限制,且数据存放在body中。

      3.HEAD

      HEAD请求只会返回首部的信息,不会返回相应体。通常用于测试数据是否存在,可以做心跳测试等。

      4.PUT

      与GET相反,用于改变某些内容。

      5.DELETE

      删除某些资源时使用。

      6.TRACE

      用于观察某一请求在到达服务前的变化,该请求会在到达服务前的最后一步返回原始信息,以此来观察到,数据在中间传输时是否有过修改。

      经常用于跨站攻击,有一定的安全隐患。

      7.OPTIONS

      询问服务器支持的方法

      8.PATCH

      用于更新部分字段时使用,区别于PUT的全部提交,当更新的部分数据不存在时则新建,类似于neworupdate。

  • 相关阅读:
    .dbmdl 文件
    where 命令一个快速定位工具所在的功能
    Window 2008 R2 软件限制策略的默认调整,导致记录事件日志的权限不足
    大家知道什么是 asp.net 呢 ?学习一下
    asp.net membership常见问题总结
    DivCSS布局实例:很实用的图文混排CSS列表
    js 在网页里让文本框只能输入数字的一种方法,外加回车换Tab
    从零开始学DedeCms模板,模板教程,从此模板制作不求人
    .net 数据类型
    常用正则表达式
  • 原文地址:https://www.cnblogs.com/AnXinliang/p/10190833.html
Copyright © 2011-2022 走看看