还苦于写接口文档?快试试javaDoc和Swagger

本文介绍了JavaDoc工具用于创建JavaAPI文档的常用标签,如@link、@see和@Deprecated,并展示了如何通过它们增强代码的可读性。同时,文章提到了Swagger在前后端分离时代的重要角色,它是用于生成、描述和调用RESTfulWeb服务的框架,并演示了在Springboot中集成Swagger来自动化接口文档的创建过程。
摘要由CSDN通过智能技术生成

javaDoc

javaDoc是JDK提供的一款用于便携编写java文档的工具。通过在类、成员变量上编写javadoc文档,从而生成清晰易读的api文档。

javaDoc文档标记

javaDoc工具可以识别文档注释中一些特殊符号,这些符号一般以@开头。常见的javaDoc文档标记如下所示:

标签作用
@link标注对应的文档、类等的链接地址,使用时需要以{@link}的方式使用
@code标识特定的代码片段
@param该标记一般用于方法上,用于标注入参的结构类型和作用
@author标注作者名称。
@since标注类、方法名称出现的时间。
@see这个其实跟@link标记类似,都是用于标注某些特殊变量的标记符,但是@link能够结合文字展示,而@see不可以
@version主要是用于标注当前代码的版本信息
@deprecated用于标注当前的方法已经不推荐使用
@throw用于标注当前方法抛出的异常类型。
@inheritDoc用于继承父类中的javaDoc文档内容信息
@serial用于说明当前的一个序列化属性使用的
@value{@value} 用于标注在常量上用于表示常量的值,主要是在注释中起到占位的作用

尽管javadoc本身包含的标记很多,但是实际上能用到的、常用的其实不多。这里我简要介绍几个:

@link

@link是一个十分好用的javadoc注解。其可以方便的在java代码中嵌入类名等信息。通过嵌入的类名,我们可以通过cmd+B的命令快速跳转到指定的对象。避免反复查找的问题。

@See

@see是最常用也最实用的注解之一。@see注解之后,可以添加任何的类名。根据提供的类名信息,IDEA可以直接跳转到对应的类。

这样的方式在设置某个参数的枚举类的时候尤其好用,再也不用翻找全局去确定一个枚举的具体取值了。

@Deprecated

deprecate顾名思义,是废弃的意思。常常会同JAVA的注解@Deprecated搭配使用,用于标注当前类/方法等被废弃的原因。

@Param

@param是最常见的标记符之一,一般用于标注出请求参数的含义。方便接口调用方快速理解接口。与之相似的,还有@Return标记符。@Return标记符则主要用于标记当前的返回参数的含义。

通过上述标记符号的结合,我们可以很容易的将一个接口的请求参数、功能很简单的描述出来。如下是我设计的一个有关分布式锁接口的Api接口文档:

对于这样的接口,你还会觉得有理解的成本嘛?

生成javadoc

通过编写javadoc,我们还可以生成相应的接口文档。通过选择特定文件夹后,从Tools=>Generate JavaDoc即可选择对应的文件生成javaDoc。

最后,我通过点击生成文件中的index.html即可获取到相应的接口文档信息。

Swagger

对于JavaDoc来说,个人觉得其针对的主要是相同采用JAVA编程后端设计的。但是在如今前后端分离的时代,跟前端的交互也是必不可少的。因此,如何输出清晰的文本文档给到前端同学,也是很重要的一环。而这正是Swagger的擅长之处。

Swagger 是一个规范且完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务。swagger官网:swagger.io/按照规范定义接口以及接口相关的信息,通过swagger衍生的工具生成接口文档;以及在线调试页面等。

快捷接入

这里,我主要介绍一下JAVA下,Springboot框架是如何快速结合Swagger搭建接口文档的。首先必不可少的是需要引入相关的maven依赖信息:(需要注意,swagger跟springboot有一定的对应关系,可以查看该文章判断自己的版本是否对应:)

<dependency>
    <groupId>io.springfox</groupId>
    <artifactId>springfox-swagger2</artifactId>
    <version>3.0.0</version>
</dependency>
<dependency>
    <groupId>io.springfox</groupId>
    <artifactId>springfox-swagger-ui</artifactId>
    <version>3.0.0</version>
</dependency>
复制代码

紧接着,为了让Swagger能够正常运行起来,我们还需要添加相关的配置类:

@Configuration
@EnableOpenApi
@Profile({ "dev","test" })
public class Swagger2Config {

    @Bean
    public Docket createRestApi() {
       return new Docket(DocumentationType.SWAGGER_2)
                .groupName("xxx")
                .apiInfo(apiInfo())
                .select()
                .apis(RequestHandlerSelectors.basePackage("com.xxx.controller"))
                .paths(PathSelectors.any())
                .build();
    }
 
    private ApiInfo apiInfo() {
        return new ApiInfoBuilder()
                .title("接口文档")
                .description("基于 Swagger2 的自动化文档")
                .version("1.0")
                .build();
    }
}
复制代码

当然还有一个步骤,需要在启动类上增加@EnableOpenApi的注解。至此Swagger的接入就基本完成了。通过在浏览器中输入网址: http://localhost:8080/swagger-ui/index.html#/就可以看到当前的文档信息。

如何使用

对于swagger来说,其主要通过在特定的类、方法和属性上添加注释实现接口文档的生成。Swagger本身涉及到的注解很多,这里限于篇幅原因,我主要介绍两个我在项目中最常用的注释: @ApiModelProperty和@ApiOperation

@ApiModelProperty

该注解主要用于输入的参数属性上,用于描述参数的属性信息:

属性作用
value当前的属性名称
notes对于属性的描述信息
example属性的示例
required是否必须传递

@ApiOperation

该注解主要用于系统的对外接口参数上,用于描述接口的属性信息:

属性作用
value当前的属性名称
notes对于属性的描述信息
response返回的属性类型
httpMethod请求方式

总结

上文内容中主要介绍了两种编写接口文档的方式:javaDoc和Swagger。其中javaDoc由于其提示方式,更适用于后端间的接口编写。通过合适的javaDoc标记,可以很简单的标记出相关的枚举类、额外的文档信息等。

Swagger与javaDoc不同,其主要提供了一个在线的接口文档提供方式。在针对后端对前端提供文档的情况下,有较好的表现。通过简单的编写,就可以在项目启动后,提供一个完整的接口文档。

通过Swagger和javaDoc结合,我们就可以通过极少的代码,搭建出清晰易懂的接口文档。

参考文献

Javadoc 使用详解

Javadoc(文档注释)详解!!!

在 IntelliJ IDEA 中为自己设计的类库生成 JavaDoc

如何不运行项目,查看swagger接口文档

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
通过Java接口文档接口,你可以按照以下步骤进行: 1. 定义接口:使用`interface`关键字定义一个接口,例如: ```java public interface MyInterface { // 接口方法声明 void myMethod(); } ``` 2. 添加方法注释:在接口方法上方使用Java文档注释(Javadoc)来描述方法的功能、参数和返回值等信息,例如: ```java /** * 这是一个示例接口 */ public interface MyInterface { /** * 这是一个示例方法 */ void myMethod(); } ``` 3. 编接口描述:在接口上方使用Java文档注释来描述接口的功能、作用等信息,例如: ```java /** * 这是一个示例接口,用于展示如何编接口文档 */ public interface MyInterface { /** * 这是一个示例方法,用于展示如何编接口方法文档 */ void myMethod(); } ``` 4. 编译生成文档:使用Java提供的工具(如Javadoc)将源代码中的注释提取出来生成接口文档。可以在命令行中使用类似以下命令进行生成: ```shell javadoc -d doc -author -version MyInterface.java ``` 其中,`-d`参数指定生成的文档输出目录,`-author`参数表示在文档中包含作者信息,`-version`参数表示在文档中包含版本信息。你需要将`MyInterface.java`替换为你实际的接口文件名。 5. 查看接口文档:生成文档后,在指定的输出目录中找到生成的HTML文件,使用浏览器打开即可查看接口文档。 通过以上步骤,你可以通过Java接口文档清晰的接口描述和方法注释,使其他开发人员能够更好地理解和使用你提供的接口。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值