Spring boot系列 -- Spring Boot集成Swagger2

来源:http://www.smjxgs.com 作者:王中王鉄算盘 人气:198 发布时间:2019-08-11
摘要:Spring boot系列 -- Spring Boot集成Swagger2 1、背景: RESTfulAPI必要面对多少个开辟人士或多少个开拓公司,为了减少与任何组织平日开销时期的反复调换花费,守旧做法大家会创立一份RESTful

Spring boot系列 -- Spring Boot集成Swagger2

1、背景:

RESTful API必要面对多少个开辟人士或多少个开拓公司,为了减少与任何组织平日开销时期的反复调换花费,守旧做法大家会创立一份RESTful API文书档案来记录全数接口细节,但是那样的做法有以下难题:由于接口众多,并且细节复杂(供给思虑不相同的HTTP央求类型、HTTP底部消息、HTTP央求内容等),而随着时间推移,不断修改接口实现的时候都无法不联合修改接口文书档案,而文书档案与代码又地处多少个分化的介绍人很轻便产生不等同,Swagger的产生就是为着消除上述这些难点。

Swagger是一个正经和完整的框架,用于转移、描述、调用和可视化RESTful风格的Web服务。接下来看下Spring Boot是怎样集成swagger2的。

2、Spring Boot集成swagger2的步骤:

1)新建mavenJava?project;

注:新建maven项目时,需先安装maven

打开MyEclipse,file——new——project——Maven Project:

图片 1

点击“Next”,勾选Create a simple project (不采取骨架)

图片 2

点击“Next”,输入group Id、Artifact Id、version、packaging,点击finish就能够完结maven项目成立

图片 3

项目目录如下:

图片 4

2)在pom.xml增加依赖;

<projectxmlns=""xmlns:xsi=""

xsi:schemaLocation=" ">

<modelVersion>4.0.0</modelVersion>

<groupId>com.sitech.crmpd</groupId>

<artifactId>hello-word</artifactId>

<version>0.0.1-SNAPSHOT</version>

<packaging>jar</packaging>

<properties>

<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>

<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>

<!-- jdk版本号,angel在此地运用1.7,修改为地点配置的jdk版本号就能够 -->

<java.version>1.7</java.version>

</properties>

<!-- spring boot 父节点正视, 引进这么些未来有关的引进就不必要加多version配置, spring boot会自动采用最合适的本子进行增多。 -->

<parent>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-starter-parent</artifactId>

<version>1.3.3.RELEASE</version>

</parent>

<dependencies>

<!-- spring boot web支持:mvc,aop... -->

<dependency>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-starter-web</artifactId>

</dependency>

<!-- Swagger -->

<dependency>

<groupId>io.springfox</groupId>

<artifactId>springfox-swagger-ui</artifactId>

<version>2.2.2</version>

</dependency>

<dependency>

<groupId>io.springfox</groupId>

<artifactId>springfox-swagger2</artifactId>

<version>2.2.2</version>

</dependency>

<dependency>

<groupId>org.json</groupId>

<artifactId>json</artifactId>

</dependency>

</dependencies>

<build>

<plugins>

<plugin>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-maven-plugin</artifactId>

</plugin>

</plugins>

</build>

</project>

3)在pom.xml增加注重后,需试行maven install把共用模块安装到本地maven仓库中,为防止项目报错,还需创新信赖(update dependencies)和更新项目布局(update project configuration),选中项目,单机右键,run As中maven install,Maven4Myeclipe中找update dependencies和update project configuration,如下图;

图片 5

图片 6

4)创建Swagger2配置类(com.sitech.crmpd.SwaggerConfig);

packagecom.sitech.crmpd;

importorg.springframework.context.annotation.Bean;

importorg.springframework.context.annotation.Configuration;

importspringfox.documentation.builders.ApiInfoBuilder;

importspringfox.documentation.builders.PathSelectors;

importspringfox.documentation.builders.RequestHandlerSelectors;

importspringfox.documentation.service.ApiInfo;

importspringfox.documentation.spi.DocumentationType;

importspringfox.documentation.spring.web.plugins.Docket;

importspringfox.documentation.swagger2.annotations.EnableSwagger2;

@Configuration

@EnableSwagger2

publicclassSwaggerConfig {

@Bean

publicDocket testApi() {

returnnewDocket(DocumentationType.SWAGGER_2)

.apiInfo(testApiInfo())

.select()

.apis(RequestHandlerSelectors.basePackage("com.sitech.crmpd"))

.paths(PathSelectors.any())

.build();

}

privateApiInfo testApiInfo() {

returnnewApiInfoBuilder()

.title("Test相关接口")

.description("Test相关接口,首要用以测验.")

.termsOfServiceUrl("")

.contact("Angel")

.version("1.0")

.build();

}

}

5)编写Controller测试类(com.sitech.crmpd.controller.TestController);

packagecom.sitech.crmpd.controller;

importio.swagger.annotations.ApiOperation;

importio.swagger.annotations.ApiParam;

importorg.springframework.stereotype.Controller;

importorg.springframework.web.bind.annotation.RequestMapping;

importorg.springframework.web.bind.annotation.RequestMethod;

importorg.springframework.web.bind.annotation.RequestParam;

importorg.springframework.web.bind.annotation.ResponseBody;

@Controller

@RequestMapping("/api/test")

publicclassTestController {

@ResponseBody

@RequestMapping(value = "/show", method=RequestMethod.POST)// 这里钦命RequestMethod,若是不点名Swagger会把具备RequestMethod都输出,在实际应用中,具体钦赐央浼类型也使接口更为严苛。

@ApiOperation(value="test interface", notes="test interface descrip")

publicString show(

@ApiParam(required=true, name="name", value="yucy")

@RequestParam(name = "name") String stuName){

return"success";

}

}

6)编写Application启动类(com.sitech.crmpd.Application);

注:Application应放在包com.sitech.crmpd下

packagecom.sitech.crmpd;

importorg.springframework.boot.SpringApplication;

importorg.springframework.boot.autoconfigure.SpringBootApplication;

importorg.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;

importorg.springframework.boot.autoconfigure.orm.jpa.HibernateJpaAutoConfiguration;

@SpringBootApplication(exclude={DataSourceAutoConfiguration.class,HibernateJpaAutoConfiguration.class})

publicclassApplication {

publicstaticvoidmain(String[] args) {

SpringApplication.run(Application.class,args);

}

}

7)在目录src/main/resources下新建application.properties文件,设置端口和上下文

server.port=8888

server.context-path=/hello/

8)(间接待上访谈)运行项目application,输入地点“

图片 7

注:此处可径直访问地址浏览api文书档案,也可组合前端财富拓展拜访

9)结合前端财富转移并浏览api,在地方栏输入

下载swagger ui实例,

图片 8

拜会作用如下:

图片 9

3、工程代码下载图片 10hello-word.zip

boot体系 -- Spring Boot集成Swagger2 1、背景: RESTful API须求面临三个开拓职员或八个开收罗团,为了减小与任何团伙日常支付时期的再三沟...

本文由4887王中王鉄算盘奖结果发布于王中王鉄算盘,转载请注明出处:Spring boot系列 -- Spring Boot集成Swagger2

关键词:

最火资讯