网站首页 > java教程 正文
API文档
Swagger是用于设计、构建和详细说明RESTful API的最流行的工具。它由SmartBear创建,SmartBear是一个非常流行的SOAP Web服务工具SoapUI的设计者。对于那些具有长期使用SOAP经验的开发人员来说,这可能是一个很好的建议。无论如何,在使用Swagger的情况下,开发人员可以使用表示法设计API,然后从中生成源代码;或者反过来,可以从源代码开始,然后生成Swagger文件。在有了Spring Boot之后,开发人员可以考虑使用第二个选项。
联合使用Swagger 2和 Spring Boot
Spring Boot和 Swagger 2之间的集成将由Springfox项目实现。它在运行时会检查应用程序,以基于Spring 配置、类结构和Java注解来推断API语义。要将Swagger 与Spring结合在一起使用,开发人员需要将以下两个依赖项添加到Maven的pom.xml 中,并且使用@EnableSwagger2 注解主应用程序类。
<dependeney>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId><version>2.7.0</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId><version>2.7.0</version>
</dependency>
在应用程序启动期间,Swagger库将自动从源代码生成API文档。该过程由 Docketbean 控制,该bean也将在主类中声明。这里有一个好主意,那就是从Maven的pom.xml文件中获取API版本。要获取该信息,开发人员可以在类路径中包含maven-model库并使用MavenXpp3Reader类。开发人员还可以使用 apilnfo方法设置其他一些属性,如标题、作者和详细说明等。默认情况下,Swagger 会为所有 REST 服务生成说明文档,包括由Spring Boot 创建的服务。开发人员应该将此说明文档仅放置于 pl.piomin.services.boot.controller包中的@RestController。
Bean
public Docket api () throws IOException,XmlPullParserException(
MavenXpp3Reader reader - new MavenXpp3Reader(;
Model model = reader.read(new FileReader( "pom. xml"));ApiInfoBuilder builder = new ApiInfoBuilder (
.title("Person Service Api Documentation")
.description ( "Documentation automatically generated"").version (model.getVersion())
.contact(new Contact("Piotr Minkowski",
"piotrminkowski.wordpress.com","piotr.minkowski@gmail.com") );return new Docket ( DocumentationType.SWAGGER_2).select O
.apis (RequestHandlerSelectors.basePackage ("pl.piomin.services.boot.controller"))
-paths (Pathselectors.any(0).build(.apiInfo(builder.build();
使用 Swagger UI测试API
在应用程序启动之后,即可在 http://localhost:2222/swagger-ui.html位置看到API说明文档仪表板(Dashboard),这是Swagger JSON定义文件的一个对用户更友好的版本,并且它也是自动生成的,可从 http://localhost:2222/v2/api-docs获得,如图2.2所示。该文件可以由任何其他REST工具(如SoapUI)导入。
如果开发人员更喜欢SoapUI而不是 Swagger UI,则可以通过选择Project | ImportSwagger(项目|导入Swagger)来轻松导入Swagger定义文件。然后,需要提供一个文件地址,如图2.3所示。
就个人而言,笔者更喜欢Swagger UI。开发人员可以展开每个API方法以查看其详细信息。可以通过提供所需的参数或JSON输入来测试每个操作,然后单击Try it Out!(试一试!)按钮。如图2.4所示就是发送一个POST /person测试请求的截图。
其响应截图如图2.5所示。
本文给大家讲解的内容是API文档
- 下篇文章给大家讲解的是Spring Boot执行器功能;
- 觉得文章不错的朋友可以转发此文关注小编;
- 感谢大家的支持!
猜你喜欢
- 2024-10-14 Java API接口命名规范(java接口命名规则)
- 2024-10-14 Java常用的API总结(java中的api使用手册)
- 2024-10-14 java使用apache poi操作word文档(java api doc)
- 2024-10-14 关于Java API应用技巧(java常用api汇总)
- 2024-10-14 java与es8实战:Java API Client有关的知识点串讲
- 2024-10-14 Java Scripting API 使用示例(java script功能)
- 2024-10-14 springboot-如何集成Swagger3生成接口文档
- 2024-10-14 Java String类(java string类型比较)
- 2024-10-14 一款零注解侵入的 API 文档生成工具,你用过吗?
- 2024-10-14 Java 文档注解最全详解,建议收藏!
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- java反编译工具 (77)
- java反射 (57)
- java接口 (61)
- java随机数 (63)
- java7下载 (59)
- java数据结构 (61)
- java 三目运算符 (65)
- java对象转map (63)
- Java继承 (69)
- java字符串替换 (60)
- 快速排序java (59)
- java并发编程 (58)
- java api文档 (60)
- centos安装java (57)
- java调用webservice接口 (61)
- java深拷贝 (61)
- 工厂模式java (59)
- java代理模式 (59)
- java.lang (57)
- java连接mysql数据库 (67)
- java重载 (68)
- java 循环语句 (66)
- java反序列化 (58)
- java时间函数 (60)
- java是值传递还是引用传递 (62)
本文暂时没有评论,来添加一个吧(●'◡'●)