网站首页 | 范文大全 | 常用申请书 | 党团范文 | 讲话发言 | 作文大全 | 报告叙述 | 合同范文 | 党建教育 | 入党材料 | 心得体会 |
三晋范文网
  • 入党申请书
  • 入党誓词
  • 入党自传
  • 入党转正申请书
  • 入党介绍人意见
  • 入党志愿书
  • 入团申请书
  • 入团志愿书
  • 少先队入队申请书
  • 思想汇报
  • 您的位置:三晋范文网 > 党团范文 > 入团申请书 > 正文 2019-10-17 07:25:34

    还是没有搞懂_一篇文章带你搞懂 Swagger 与 SpringBoot 整合游戏特工007

    摘要:Swagger 有什么用? Swagger 是一个流行的API开发框架,这个框架以开放API声明 (OpenAPI Specification,OAS) 为基础, 对整个 API 的开发周期都提供了相应的解决方案,是一个非常庞大的项目

    Swagger 有什么用?

    Swagger 是一个流行的API开发框架,这个框架以开放API声明 (OpenAPI Specification,OAS) 为基础,

    对整个 API 的开发周期都提供了相应的解决方案,是一个非常庞大的项目(包括设计、编码和测试,几乎支持所有语言)。

    Swagger 是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务。

    总体目标是使客户端和文件系统作为服务器以同样的速度来更新。

    文件的方法,参数和模型紧密集成到服务器端的代码,允许 API 来始终保持同步。 Swagger 让部署管理和使用功能强大的 API 从未如此简单。

    SpringBoot 与 Swagger2

    由于 JAVA 的强大的注解功能,我们使用 SpringBoot 来结合 Swagger2 ,在使用起来非常简单.

    第一步:新建 SpringBoot 项目,引入依赖.

    <dependency <groupIdio.springfox</groupId <artifactIdspringfox-swagger2</artifactId <version2.7.0</version</dependency<dependency <groupIdio.springfox</groupId <artifactIdspringfox-swagger-ui</artifactId <version2.7.0</version</dependency

    上面两个依赖的作用:

    springfox-swagger2 依然是依赖 OSA 规范文档,也就是一个描述 API 的 json 文件,而这个组件的功能就是帮助我们自动生成这个 json 文件

    SpringFox 大致原理:

    springfox的大致原理就是,在项目启动的过程中,Spring 上下文在初始化的过程,

    框架自动根据配置加载一些 Swagger 相关的 bean 到当前的上下文中,并自动扫描系统中可能需要生成 API 文档那些类,

    并生成相应的信息缓存起来。如果项目MVC控制层用的是 SpringMvc 那么会自动扫描所有 Controller 类,并生成对应的文档描述数据.

    该数据是json格式,通过路径:项目地址 /v2/api-docs可以访问到该数据,然后 SwaggerUI根据这份数据生成相应的文档描述界面。

    因为我们能拿到这份数据,所以我们也可以生成自己的页面。

    springfox-swagger-ui 就是将这个 json 文件解析出来,用一种更友好的方式呈现出来。

    由于 Spring 的流行,Marty Pitt 编写了一个基于 Spring 的组件 swagger-springmvc,用于将 Swagger 集成到 SpringMVC 中来。

    第二步:创建 API

    @RestControllerpublic class UserController { @RequestMApping("/hello",method = RequestMethod.GET) public String hello(){ return "hello"; }}

    配置 Swagger2

    现在 Swagger2 还不能为我们生成 API 文档,因为我们还没有对它进行配置。

    我们需要创建一个配置类,进行如下配置:

    @Configuration@EnableSwagger2public class SwaggerConfig{ @Bean public Docket createRestApi() { return new Docket(DocumentationType.SWAGGER_2) .apiInfo(apiInfo()) .select() .apis(RequestHandlerSelectors.basePackage("com.itguang.springbootswaggerdemo1.web")) .paths(PathSelectors.any()) .build(); } private ApiInfo apiInfo() { return new ApiInfoBuilder() .title("Spring Boot中使用Swagger2构建RESTful API") .description("rest api 文档构建利器") .termsOfServiceUrl("") .contact("itguang") .version("1.0") .build(); }}

    springfox 为我们提供了一个 Docket(摘要的意思)类,我们需要把它做成一个 Bean 注入到 spring 中。显然,我们需要一个配置文件,并通过一种方式(显然它会是一个注解)告诉程序,这是一个 Swagger 配置文件。

    springfox 允许我们将信息组合成一个 ApiInfo 的类,作为构造参数传给 Docket(当然也可以不构造这个类,而直接使用 Null,但是你的这个 API 就太 low 了)。

    搞定

    现在我们要做的配置已经能满足一个生成 API 文档的基本要求了,让我们启动项目,访问

    会看到如下界面:

    一篇文章带你搞懂 Swagger 与 SpringBoot 整合

    这是 Swagger-ui 为我们生成的界面.

    Swagger2 注解使用

    接下来我们就要好好研究下 springfox-swagger2 给我们提供的注解了.

    我们新建一个 Controller,用来对 User 类进行增删改查常用操作。

    @RestController@RequestMapping(value = "/user", produces = APPLICATION_JSON_VALUE) //配置返回值 application/json@Api(description = "用户管理")public class HelloController { ArrayList<User users = new ArrayList<(); @ApiOperation(value = "获取用户列表", notes = "获取所有用户信息") @RequestMapping(value = {""}, method = RequestMethod.GET) public List<User hello() { users.add(new User("逻辑", "luoji")); users.add(new User("叶文杰", "yewenjie")); return users; }}

    还是没有搞懂_一篇文章带你搞懂 Swagger 与 SpringBoot 整合游戏特工007》由(三晋范文网)整理提供,版权归原作者、原出处所有。
    Copyright © 2023 三晋范文网 All Rights Reserved. 备案号:京ICP备14001712号-1