Pom依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!-- https://mvnrepository.com/artifact/io.springfox/springfox-swagger2 -->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.9.2</version>
</dependency>
<!-- https://mvnrepository.com/artifact/io.springfox/springfox-swagger-ui -->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.9.2</version>
</dependency>
<!-- https://mvnrepository.com/artifact/com.github.xiaoymin/swagger-bootstrap-ui -->
<dependency>
<groupId>com.github.xiaoymin</groupId>
<artifactId>swagger-bootstrap-ui</artifactId>
<version>1.9.6</version>
</dependency>
这里面一共有2个页面,一个是swagger-ui,一个swagger-bootstrap-ui。
访问swagger-ui:http://localhost:8080/swagger-ui.html
访问swagger-bootstrap-ui:http://localhost:8080/doc.html
至于用哪个看自己(我觉得第二个好看点)
配置文件编写
目前没发现可以像别的一样可以直接配置在application中,得自己配置
@Configuration
@EnableSwagger2
public class Swagger2 {
@Bean
public Docket createRestApi(){
return new Docket(DocumentationType.SWAGGER_2)
.apiInfo(apiInfo())
.select()
.apis(RequestHandlerSelectors.basePackage("com.example.demo.controller"))
.paths(PathSelectors.any())
.build();
}
private ApiInfo apiInfo() {
return new ApiInfoBuilder()
.title("spring boot示例接口API")
.description("spring boot示例接口API")
.version("1.0").build();
}
}
User用户实体类
@ApiModel("用户实体类")
public class User {
@ApiModelProperty("用户名")
private String username;
@ApiModelProperty("密码")
private String password;
@ApiModelProperty("昵称")
private String nickname;
@ApiModelProperty("性别")
private String gender;
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
...
}
Controller层代码
@Api(value = "用户管理")
@RestController
public class UserController {
@ApiOperation(value = "获取用户信息")
@ApiImplicitParams(
@ApiImplicitParam(name = "username",value = "用户名",required = true,dataType = "string")
)
@GetMapping("getUserInfo/{username}")
public User getUserInfo(@PathVariable String username){
User user = new User();
user.setUsername(username);
user.setPassword("123456");
user.setNickname(username);
user.setGender("男");
return user;
}
}