引入架包
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.7.0</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.7.0</version>
</dependency>
创建配置(Application.java同级)
swaggerConfig
import com.google.common.base.Predicates;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import springfox.documentation.builders.ApiInfoBuilder;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.service.ApiInfo;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2;
@Configuration //相当于之前的spring.xml文件
@EnableSwagger2
public class swaggerConfig {
@Bean //相当于spring.xml文件<bean>
public Docket apiCongif(){
return new Docket(DocumentationType.SWAGGER_2)
.groupName("myapi")
.apiInfo(apiInfo())
.useDefaultResponseMessages(false)
.select()
.paths(Predicates.or(PathSelectors.regex("/users/.*")))
.build();
//.paths(Predicates.or(PathSelectors.regex("/users/.*")))
// 筛选api,根据请求进行分组,or表示可以用多个,
//地址"/users/.*",表示的是controller中的请求地址
}
private ApiInfo apiInfo(){
return new ApiInfoBuilder().build();
}
}
实体类配置
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import javax.persistence.*;
@Entity(name="users")
@ApiModel
public class Users {
@Id //数据库的主键
@Column(name="id") //重名数据库的列名
@GeneratedValue(strategy = GenerationType.AUTO)
//下面是swagger的注解
@ApiModelProperty(hidden = true) //隐藏该属性
private int id;
@ApiModelProperty(name="username",value = "用户名",required =true,example = "得到用户名")
private String name;
@Override
public String toString() {
return "Users{" +
"id=" + id +
", name='" + name + '\'' +
'}';
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
}
输入网址
http://localhost:8080/swagger-ui.html