当前位置:网站首页>[knife-4j quickly build swagger]

[knife-4j quickly build swagger]

2022-07-07 04:12:00 Dotclv

add to pom rely on

<dependency>
   <groupId>com.github.xiaoymin</groupId>
   <artifactId>knife4j-spring-boot-starter</artifactId>
   <version>3.0.3</version>
</dependency>

Add configuration class

@Configuration
@EnableSwagger2WebMvc
public class Knife4jConfiguration {
    

    @Bean(value = "defaultApi2")
    public Docket defaultApi2() {
    
        Docket docket=new Docket(DocumentationType.SWAGGER_2)
                .apiInfo(new ApiInfoBuilder()
                        //.title("swagger-bootstrap-ui-demo RESTful APIs")
                        .description("# swagger-bootstrap-ui-demo RESTful APIs")
                        .termsOfServiceUrl("http://www.xx.com/")
                        .contact(new Contact("ymy", "http://www.xx.com/", "[email protected]"))
                        .version("1.0")
                        .build())
                // Group name 
                .groupName("3.X edition ")
                .select()
                // Designated here Controller Scan package path 
                .apis(RequestHandlerSelectors.basePackage("com.mingyang.bootlaunch.controller"))
                .paths(PathSelectors.any())
                .build();
        return docket;
    }
}

add to API annotation

@Api(tags = " Article interface ")
@Slf4j
@RestController
public class ArticleController {
    

    /** *  according to id Search article  * @param id * @return */
    @ApiOperation(value = " according to id Search article ")
    @ApiImplicitParam(name = "id", value = " article id", required = true, dataType = "Long")
    @GetMapping("/article/{id}")
    private Result getArticle(@PathVariable("id") Long id) {
    
        Article article = new Article();
        article.setId(id);
        article.setTitle("title");
        article.setContent("content");
        log.info("article:{}", article);
        return Result.success(article);
    }

    /** *  Add an article  */
    @ApiOperation(value = " Add an article ")
    @ApiImplicitParam(name = "article", value = " Article entity ", required = true, dataType = "Article")
    @PostMapping("/article")
    private Result addArticle(@RequestBody Article article){
    
        log.info("article:{}", article);
        return Result.success(article.getId());
    }
    /** *  Update an article  */
    @PutMapping("/article")
    @ApiOperation(value = " Update an article ")
    @ApiImplicitParam(name = "article", value = " Article entity ", required = true, dataType = "Article")
    private Result updateArticle(@RequestBody Article article){
    
        if(article.getId() == null){
    
            return Result.failure(ResultCode.PARAM_ERROR);
        }
        log.info("article:{}", article);
        return Result.success(article.getId());
    }

    /** *  Delete an article  * @param id * @return */
    @DeleteMapping("/article/{id}")
    @ApiOperation(value = " Delete an article ")
    @ApiImplicitParam(name = "id", value = " article id", required = true, dataType = "Long")
    private Result deleteArticle(@PathVariable("id") Long id){
    
        log.info("id:{}", id);
        return Result.success();
    }
}

visit doc.html page

localhost:9011/doc.html
 Insert picture description here

原网站

版权声明
本文为[Dotclv]所创,转载请带上原文链接,感谢
https://yzsam.com/2022/188/202207062105037765.html