美文网首页
SpringBoot整合Swagger

SpringBoot整合Swagger

作者: f0cf20ca7354 | 来源:发表于2019-07-08 19:43 被阅读0次

1、引入POM依赖

<dependencies>
        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger2</artifactId>
            <version>2.8.0</version>
        </dependency>
        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger-ui</artifactId>
            <version>2.7.0</version>
        </dependency>
        <!-- Spring Boot Web 依赖 -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
</dependencies>

2、添加swagger config配置类

@Configuration
@EnableSwagger2
public class SwaggerConfig {

    @Bean
    public Docket createRestApi() {
        return new Docket(DocumentationType.SWAGGER_2)
                .apiInfo(apiInfo())
                .select()
                //swagger要扫描的包路径
                .apis(RequestHandlerSelectors.basePackage("com.test.swagger"))
                .paths(PathSelectors.any())
                .build();
    }

    private ApiInfo apiInfo() {
        return new ApiInfoBuilder()
                .title("springboot Swagger 测试")
                .description("Springboot 整合Swagger2")
                .termsOfServiceUrl("localhost:8080")
                .contact(new Contact("Swagger测试","localhost:8080/swagger-ui.html","baidu@qq.com"))
                .version("1.0")
                .build();
    }

}

3、接口类

@Api(description = "用户接口")
@RestController
@RequestMapping("/user")
public class TestController {

    @ApiOperation(value = "获取用户11", notes = "根据id查询用户信息11", produces = MediaType.APPLICATION_JSON_VALUE)
    //@ApiImplicitParam(name = "req", value = "用户查询请求", required=true, dataTypeClass = UserReq.class)
    @PostMapping(value = "/queryUser")
    public UserInfo queryRuleUser(@RequestBody UserReq req) {
        UserInfo resp = new UserInfo();
        return resp;
    }

    @ApiOperation(value = "获取用户222", notes = "根据id查询用户信息22", produces = MediaType.APPLICATION_JSON_VALUE)
    //@ApiImplicitParam(name = "req", value = "用户查询请求", required=true, dataTypeClass = UserReq.class)
    @PostMapping(value = "/queryUser2")
    public UserInfo queryRuleUser2(@ModelAttribute UserReq req) {
        UserInfo resp = new UserInfo();
        return resp;
    }
}

4、实体类

@ApiModel
public class UserReq implements Serializable {

    @ApiModelProperty(value = "用户id", name = "id")
    private int id;

    @ApiModelProperty(value = "用户name", name = "name", required = true)
    private String name;

    @ApiModelProperty(value = "用户age", name = "age")
    private int age;

    @ApiModelProperty(value = "城市信息")
    private CityInfo cityInfo;


    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    public CityInfo getCityInfo() {
        return cityInfo;
    }

    public void setCityInfo(CityInfo cityInfo) {
        this.cityInfo = cityInfo;
    }
}

相关文章

网友评论

      本文标题:SpringBoot整合Swagger

      本文链接:https://www.haomeiwen.com/subject/zpaahctx.html