0
点赞
收藏
分享

微信扫一扫

springboot集成swagger

流沙雨帘 2022-02-09 阅读 47

常用注解

/**
 @Api:修饰整个类,描述Controller的作用
 @ApiOperation:描述一个类的一个方法,或者说一个接口
 @ApiParam:单个参数描述
 @ApiModel:用对象来接收参数
 @ApiProperty:用对象接收参数时,描述对象的一个字段
 @ApiResponse:HTTP响应其中1个描述
 @ApiResponses:HTTP响应整体描述
 @ApiIgnore:使用该注解忽略这个API
 @ApiError :发生错误返回的信息
 @ApiImplicitParam:一个请求参数
 @ApiImplicitParams:多个请求参数
 */

swagger官网:API Documentation & Design Tools for Teams | Swagger

1、加入依赖


        <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>

        <dependency>
            <groupId>io.swagger</groupId>
            <artifactId>swagger-annotations</artifactId>
            <version>1.5.21</version>
        </dependency>
        <dependency>
            <groupId>io.swagger</groupId>
            <artifactId>swagger-models</artifactId>
            <version>1.5.21</version>
        </dependency>

2、配置swagger

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.service.Contact;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2;


/**
 * @author XUN~MLF
 */

@Configuration
@EnableSwagger2
public class SwaggerConfig {
    @Bean
    public Docket webApiConfig(){
        return new Docket(DocumentationType.SWAGGER_2)
                .groupName("Api")
                .apiInfo(webApiInfo())
                .select()
//                .paths(Predicates.not(PathSelectors.regex("/admin/.*")))
                .paths(Predicates.not(PathSelectors.regex("/error.*")))
                .build();
    }

    private ApiInfo webApiInfo(){
        return new ApiInfoBuilder()
                .title("网站-中心API文档")
                .description("简单描述")
                .version("1.0")
                .contact(new Contact("Helen", "",
                        "2407942305@qq.com"))
                .build();
    }
}

3、编写controller

import com.work.redis.entity.TestProduct;
import com.work.redis.service.TestProductService;
import com.work.redis.utlis.R;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.util.List;

/**
 * @author XUN~MLF
 * @since 2021-12-02
 */
@RestController
@RequestMapping("/test-product")
@Api(tags = "商品管理")
public class TestProductController {

    @Autowired
    private TestProductService service;


    /**
     * 运行测试
     * @return
     */
    @GetMapping("/hello")
    @ApiOperation("测试运行")
    public String hello(){
        return "hello";
    }


    /**
     * 1、根据id查询商品信息
     */
    @GetMapping("/getProductById/{id}")
    @ApiOperation("根据id查询商品信息")
    public R getProductById(@ApiParam(name = "id", value = "商品id", required = true)@PathVariable  Integer id){
        TestProduct product = service.getProductById(id);
        return R.ok().data("Product",product);

    }

}

举报

相关推荐

0 条评论