首先是pom.xml文件内需要引入两个关于swagger的jar包(版本最好是一样的不然会存在注解找不到的问题,踩过这个坑)
<dependencies>
<!--增加eureka-server的依赖-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.2.2</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.2.2</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
然后到启动类上面加入注解@EnableSwagger2
@SpringBootApplication
@EnableSwagger2
public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
}
ok,启动类配置完成
然后到需要配置的controller内使用他的一些注解
@RestController
@Api("测试")
@RequestMapping("swg")
public class SwaggerController {
@ApiOperation("hello")
@RequestMapping("hi")
@ApiImplicitParams(
@ApiImplicitParam(paramType = "query",name = "h",dataType ="String",value = "测试参数",defaultValue="123456")
)
public String hi(String h){
return h;
}
}
启动项目然后访问http://localhost:8080/swagger-ui.html 就会看到你配置的信息了。
Swagger注解:
swagger通过注解表明该接口会生成文档,包括接口名、请求方法、参数、返回信息的等等。
@Api:修饰整个类,描述Controller的作用
@ApiOperation:描述一个类的一个方法,或者说一个接口
@ApiParam:单个参数描述
@ApiModel:用对象来接收参数
@ApiProperty:用对象接收参数时,描述对象的一个字段
@ApiResponse:HTTP响应其中1个描述
@ApiResponses:HTTP响应整体描述
@ApiIgnore:使用该注解忽略这个API
@ApiError :发生错误返回的信息
@ApiImplicitParam:一个请求参数
@ApiImplicitParams:多个请求参数