Swagger 好用的接口文档工具
2021/4/25 10:27:33
本文主要是介绍Swagger 好用的接口文档工具,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
Swagger是一款好用的
Java接口文档工具
,引入Maven坐标之后就可以在项目启动之后,通过访问相应的地址可以看到生成好的接口文档。
- 官网:https://swagger.io/
- 官方接口文档:http://docs.swagger.io/swagger-core/apidocs/index.html
- Github:https://github.com/swagger-api
一、页面效果1
**访问地址:**http://localhost:8081/swagger-ui.html
依赖方式1:
(只支持效果1的展示形式)
<!-- swagger --> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version>${swagger.version}</version> </dependency> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger-ui</artifactId> <version>1.18.18</version> </dependency>
二、页面效果2
**访问地址:**http://localhost:8081/doc.html
依赖方式2:
(支持效果1 和 效果2 的展示形式)
<!-- swagger --> <dependency> <groupId>com.open.capacity</groupId> <artifactId>swagger-spring-boot-starter</artifactId> <version>2.0.1</version> </dependency>
三、Swagger配置类
import io.swagger.annotations.ApiOperation; 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.builders.RequestHandlerSelectors; import springfox.documentation.service.ApiInfo; import springfox.documentation.spi.DocumentationType; import springfox.documentation.spring.web.plugins.Docket; import springfox.documentation.swagger2.annotations.EnableSwagger2; import java.util.HashSet; import java.util.Set; /** * <p> @Title SwaggerConfig * <p> @Description Swagger 配置类 * * @author ACGkaka * @date 2021/4/23 15:40 */ @Configuration @EnableSwagger2 public class SwaggerConfig { @Bean public Docket buildDocket() { /// accessToken 请求头要求 // ParameterBuilder ticketPar = new ParameterBuilder(); // List<Parameter> parameters = new ArrayList<>(); // ticketPar.name("accessToken").description("accessToken") // .modelRef(new ModelRef("string")).parameterType("header") // .required(false).build(); // parameters.add(ticketPar.build()); Set<String> consumes = new HashSet<>(); consumes.add("multipart/form-data"); return new Docket(DocumentationType.SWAGGER_2) .apiInfo(apiInfo()) .select() // .apis(RequestHandlerSelectors.any()) .apis(RequestHandlerSelectors.withMethodAnnotation(ApiOperation.class)) .paths(PathSelectors.any()) .build() // .globalOperationParameters(parameters) .consumes(consumes); } private ApiInfo apiInfo() { return new ApiInfoBuilder() .title("Demo System") .description("Demo System API") .version("V1.0") .build(); } }
四、接口注解形式
import com.demo.swagger.query.DemoQueryParam; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; import org.springframework.web.bind.annotation.*; /** * <p> @Title DemoController * <p> @Description Controller 接口 * * @author ACGkaka * @date 2021/4/24 23:35 */ @Api(tags = "接口类") @RestController @RequestMapping("/demo") public class DemoController { @ApiOperation("get接口") @ApiImplicitParams({ @ApiImplicitParam(name = "id", value = "主键", dataType = "String", paramType = "json", required = true) }) @GetMapping("/get") public String get(String id) { return id; } @ApiOperation("post接口") @PostMapping("/post") public DemoQueryParam post(@RequestBody DemoQueryParam param) { return param; } }
五、POST 请求体注解
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; /** * <p> @Title DemoQueryParam * <p> @Description Demo 请求体 * * @author ACGkaka * @date 2021/4/24 23:41 */ @Data @ApiModel(description = "请求入参") public class DemoQueryParam { /** * 主键 */ @ApiModelProperty(value = "主键", required = true) private String id; /** * 姓名 */ @ApiModelProperty(value = "姓名", required = true) private String name; /** * 年龄 */ @ApiModelProperty("年龄") private Integer age; }
整理完毕,完结撒花~
这篇关于Swagger 好用的接口文档工具的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-23线下车企门店如何实现线上线下融合?
- 2024-12-23鸿蒙Next ArkTS编程规范总结
- 2024-12-23物流团队冬至高效运转,哪款办公软件可助力风险评估?
- 2024-12-23优化库存,提升效率:医药企业如何借助看板软件实现仓库智能化
- 2024-12-23项目管理零负担!轻量化看板工具如何助力团队协作
- 2024-12-23电商活动复盘,为何是团队成长的核心环节?
- 2024-12-23鸿蒙Next ArkTS高性能编程实战
- 2024-12-23数据驱动:电商复盘从基础到进阶!
- 2024-12-23从数据到客户:跨境电商如何通过销售跟踪工具提升营销精准度?
- 2024-12-23汽车4S店运营效率提升的核心工具