swagger作为一个接口工具,方便前后端分离开发,搭建简单。
pom文件,注意的是版本号,我框架用的是springboot,里面版本不兼容,需要更换版本号。
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.9.2</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.9.2</version>
</dependency>
swagger配置
这里需注意,按需修改:
我是为了进行token验证,将一个参数放在了header里。其他地方不需要改,直接copy就行。
tokenPar.name("Authorization").description("Authorization")
.modelRef(new ModelRef("string")).parameterType("header").required(false).build();
还有basePackage中要改路径,按需修改,是为了扫描controller
@Configuration
@EnableSwagger2
public class swaggerConfig {
@Bean
public Docket createRestApi() {
ParameterBuilder tokenPar = new ParameterBuilder();
List<Parameter> pars = new ArrayList<Parameter>();
tokenPar.name("Authorization").description("Authorization")
.modelRef(new ModelRef("string")).parameterType("header").required(false).build();
pars.add(tokenPar.build());
return new Docket(DocumentationType.SWAGGER_2)
.apiInfo(apiInfo())
.select()
.apis(RequestHandlerSelectors.basePackage("class路径"))
.paths(PathSelectors.any())
.build().globalOperationParameters(pars) ;
}
@SuppressWarnings("deprecation")
private ApiInfo apiInfo() {
return new ApiInfoBuilder()
.title("个人测试")
.description("个人测试用api")
.termsOfServiceUrl("termsOfServiceUrl")
.contact("测试")
.version("1.0")
.build();
}
}
controller节选:不是必须
@API注解在类上,用于描述接口信息
@Api(value="测试接口Controller")
public class GoodsController {
@APIOperation注解在方法上,用于描述接口信息
@ApiOperation("最新")
public String getlist2(@Valid Good good , BindingResult bindResult){