首页 / 更多教程 / Swagger 好用的接口文档工具
Swagger 好用的接口文档工具
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Swagger 好用的接口文档工具,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3984字,纯文字阅读大概需要6分钟。
内容图文
![Swagger 好用的接口文档工具](/upload/InfoBanner/zyjiaocheng/1001/5773916145f1431a885d180dbd4bfa5b.jpg)
![Swagger 好用的接口文档工具 - 文章图片](/upload/getfiles/0001/2021/5/17/20210517110018534.jpg)
Swagger是一款好用的
Java接口文档工具
,引入Maven坐标之后就可以在项目启动之后,通过访问相应的地址可以看到生成好的接口文档。
一、页面效果1
**访问地址:**http://localhost:8081/swagger-ui.html
![Swagger 好用的接口文档工具 - 文章图片](/upload/getfiles/0001/2021/5/17/20210517110019110.jpg)
依赖方式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
![Swagger 好用的接口文档工具 - 文章图片](/upload/getfiles/0001/2021/5/17/20210517110020105.jpg)
![Swagger 好用的接口文档工具 - 文章图片](/upload/getfiles/0001/2021/5/17/20210517110021324.jpg)
依赖方式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 好用的接口文档工具全部内容,希望文章能够帮你解决Swagger 好用的接口文档工具所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。