springboot结合Swagger开发
第一步:
在Idea上面先创建一个boot-web项目,如果有项目则这一步可以忽略。
第二步:
创建controller写一个接口,已经创建好的也可以忽略;然后加上一些Swagger的配置信息,如下:
package com.test.testdemo.controller;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;
import java.io.IOException;
/**
* @program: Test
* @description:
* @author: yddacy
* @create: 2018-11-23 13:40
**/
@Api(value = "测试", tags = "测试controller")
@Controller
@RequestMapping("/Test")
public class ApiTestController {
@ApiOperation("测试接口")
@ApiImplicitParams(value = {
@ApiImplicitParam(paramType = "query", name = "username", value = "用户名", dataType = "String", required = true)
})
@RequestMapping(value = "testApi", method = RequestMethod.POST)
@ResponseBody
public String testApi(String username) throws IOException {
System.out.println("=======swagger api accept =========:"+username);
return null;
}
}
其中下面的2个注解是用于Swagger的,paramType有很多种类型,我使用了body和path发现都传不了数据,最后使用query可以正常将参数传入到后端。
@ApiOperation("测试接口")
@ApiImplicitParams(value = {
@ApiImplicitParam(paramType = "query", name = "username", value = "用户名", dataType = "String", required = true)
})
想具体了解其内容可以网上查找其他资料,这个很多的。加上了这些注解后将其pom文件依赖也加上,在这里我也将其贴上:
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.7.0</version>
</dependency>
<dependency>
<groupId>io.swagger</groupId>
<artifactId>swagger-annotations</artifactId>
<version>1.5.21</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.7.0</version>
</dependency>
使用Swagger主要就这3个依赖
第三步:
创建一个config的包放其配置文件:配置文件如下图:
package com.test.testdemo.config;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import springfox.documentation.builders.ApiInfoBuilder;
import springfox.documentation.builders.ParameterBuilder;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.schema.ModelRef;
import springfox.documentation.service.ApiInfo;
import springfox.documentation.service.Parameter;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2;
import java.util.ArrayList;
import java.util.List;
@Configuration
@EnableSwagger2
public class SwaggerConfiguration {
@Bean
public Docket createRestApi() {
return new Docket(DocumentationType.SWAGGER_2)
.apiInfo(apiInfo())
.select()
.apis(RequestHandlerSelectors.basePackage("com.test.testdemo.controller"))
.paths(PathSelectors.any())
.build();
}
private ApiInfo apiInfo() {
return new ApiInfoBuilder()
.title("测试")
.description("测试接口文档")
.termsOfServiceUrl("http://tttt.com")
.contact("123")
.version("1.0.0")
.build();
}
}
配置文件主要是将其利用springIOC进行创建bean,然后配置一下页面的一些介绍,到这里,Swagger就加好了,然后运行项目:在浏览器输入:http://localhost:9999/swagger-ui.html,注意端口号是你自己项目的端口号,下面就可以开始使用了