java接口文档实例,java-api-doc

大雄 841 2022-08-27


下面是关于java接口文档

java接口文档实例_java的接口与实例


一、定义

Java接口(Interface),是一系列方法声明,是一些方法特征的集合接口文档,一个接口只有方法特征没有方法实现,所以这些方法可以在不同的地方被不同的类实现java接口文档实例_java的接口与实例,而这些实现可以有不同的行为(功能)。

接口定义的一般形式是:

[访问控制字符]接口{

类型标识符最终符号常量名 n = 常量;

返回值类型方法名([参数列表]);

java接口文档实例_java的接口与实例

}

二、界面特点

java接口文档实例_java的接口与实例

1、Java接口中的成员变量默认为public、static、final类型(均可省略),必须显式初始化,即接口中的成员变量为常量(大写,用于单词之间)“_”分隔)

2、Java接口中的方法默认都是public和abstract的(都可以省略)java接口文档实例_java的接口与实例,没有方法体,不能实例化

3、Java接口只能包含public、static、final类型的成员变量和public、abstract类型的成员方法

4、接口没有构造函数,无法实例化

5、一个接口不能实现另一个接口,但可以继承多个其他接口

6、Java 接口必须通过类实现其抽象方法

7、类实现Java接口时,必须实现接口中的所有抽象方法,否则该类必须声明为抽象类

8、不允许创建接口的实例(实例化)接口文档,但允许定义接口类型的引用变量,引用实现该接口的类的实例

9、一个类只能继承一个直接父类,但可以实现多个接口,间接实现了多重继承。

励志做java届最好的文档生成工具,自动解析代码生成api接口文档,前后台分离开发的福音,零代码入侵,零注释入侵

解决的痛点

通常的文档生成工具,都需要开发人员编写注解或注释,代码入侵太强,而且费事,我希望工具自动解析代码,然后根据代码生成文档,如果有注释就自动扫描注释,没有就以代码为准,生成的文档如果有不合理的地方,可以在页面进行修改,利用web页面的表单编辑修改要比在代码里处理方便直观。

页面布局

如下图(图片拼接左侧菜单可能模糊或重影,凑合看): 

  1. 左侧为菜单,菜单分为两级,一级表示模块,二级表示接口信息,一级菜单就是你定义的模块名称,二级菜单是对外接口的方法名,如果你的方法上有注释,这里会自动解析方法的注释作为二级菜单。菜单拖拽可以排序。

  2. 右侧为接口详细信息,主要包括:模拟测试功能,接口详细信息说明,请求参数说明,响应参数说明,参数的详细信息也是默认解析代码,如有注释优先展示注释,支持对象的泛型,多维数组,自嵌套,互相嵌套,并根据参数信息生成一个演示的例子表明接口的使用方式

页面操作

  1. 左侧二级菜单可以双击修改,失去焦点时自动保存

  1. 左侧一级,二级菜单可以拖拽排序

  1. 所有带 “编辑”按钮的地方都可以编辑保存,textarea编辑时可以带回车换行,自动记录你的文本格式

 

  1. 请求参数和响应参数,本身是一个树结构,所有编辑的时候跟普通的编辑树一样操做,包括添加一级数据,添加子数据,修改,删除,保存等等,鼠标移入会有提示,如下图

5.如果需要给接口提供默认值,修改参数的默认值后,会自动重构json参数,告诉你接口怎么使用,清晰明了

  1. 工具提供自动化测试,支持默认数据填充,前后台都抛弃PostMan等第三方测试工具吧

代码使用

  1. 引入jar包(暂未上传maven,近期上传maven)

       <!--Maven jar包引入方式-->        <dependency>            <groupId>com.apidoc</groupId>            <artifactId>apidoc</artifactId>            <version>1.0.0</version>            <scope>system</scope>            <systemPath>${project.basedir}/src/main/resources/lib/apidoc-1.0.0.jar</systemPath>        </dependency>    </dependencies>
  1. 修改配置文件

#是否开启apidocapidoc=true# datasource 数据源配置,目前仅支持mysql,如果需要其他数据库,请自行修改com.apidoc.dao数据库操作层的sql,或者联系我修改(需要付费)#配置好数据源,运行程序会自动生成4张表,用来存储api的接口信息,不需要开发人员处理,默认会自动生成spring.datasource.driver-class-name=com.mysql.jdbc.Driverspring.datasource.url=jdbc:mysql://127.0.0.1:3306/apidoc?useUnicode=true&zeroDateTimeBehavior=convertToNull&autoReconnect=true&characterEncoding=UTF-8&characterSetResults=UTF-8&allowMultiQueries=true&&useSSL=falsespring.datasource.username=rootspring.datasource.password=root
  1. 增加springboot快速配置类

/** * 配置类 * 让springboot自动扫描并管理apidoc工具下的所有class */@Configuration@EnableTransactionManagement//启动事务@ComponentScan("com.apidoc")//扫描组件类@MapperScan("com.apidoc.dao")//扫描数据库操作层的类@EntityScan("com.apidoc.entity")//扫描实体类public class ApiDocConfig {    @Bean    public ApiDocService generator() {        //所有的常量都在Const类下,需要修改常量的在这里配置即可        //配置代码的绝对路径,方便扫描代码的注释,因为注释编译之后就被jvm剔除了,只能扫描源码,不配置则不扫描注释        //默认路径为{项目路径}+src/main/java        Const.codePath = Const.projectPath + "apidoc-demo" + File.separator + "src" + File.separator + "main" + File.separator + "java" + File.separator;        return new ApiDocService();    }}
  1. 在你的controller类上增加注解@Api("这里写模块名称"),这里一个@Api对应页面的一个一级菜单,即模块,模块可以由多个类组成,只需设置每个类的模块名称一样,程序会自动把模块名称一样的class组装成同一模块。

  2. 浏览器访问地址http://localhost:8080/apidoc/index.html?packageName=com.demo即可。如果一个项目有多个文档,比如前端页面一个文档,后台管理一个文档等等,可以用java的包区分。一个包代表一个文档,不同的文档使用不同的包即可。即url后的参数:packageName=你的包名

特别说明&&高级模式

目前仅支持SpringMVC/SpringBoot+Mybatis+MySQL技术架构,如果您使用其他技术,可以下载我的源码稍作修改,或联系我修改(需要付费)

工具是标准的前后台分离开发架构,后台为MVC开发模式,如果你的技术跟我使用的不一样选择性替换相应的代码层即可。

  • 路由控制层:替换这一个类即可com.apidoc.controller.ApiDocController

  • 数据库操作层:修改这个包的sql即可com.apidoc.dao

  • 页面中所有的常量都可以配置,包括路由等等,具体见常量类com.apidoc.common.Const

  • 嫌弃前端页面丑陋:apidoc/front这个路径下是我的所有前端代码,我才用的是最新版的angualr做的,你可以选择你喜欢的任何前端技术重构自己的页面,然后对接后台接口即可。总共如下接口,采用标准的RESTful风格

//api接口export const apis={  isOpenApiDoc:"/apidoc/isOpenApiDoc",  info:"/apidoc/info",  modules:"/apidoc/modules",  actions:"/apidoc/actions",  detail:"/apidoc/detail",  updateInfo: "/apidoc/updateInfo",  updateAction: "/apidoc/updateAction",  updateActionDescription: "/apidoc/updateActionDescription",  updateDetail: "/apidoc/updateDetail",  updateModulesSort: "/apidoc/updateModulesSort",  updateActionsSort: "/apidoc/updateActionsSort",  addParam:"/apidoc/addParam",  updateParam:"/apidoc/updateParam",  deleteParam:"/apidoc/deleteParam",};

以上就是小编为大家整理的java接口文档


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:【python】使用eval 函数报错 NameError: name ‘null‘ is not defined
下一篇:Api接口文档管理工具,你知道哪些呢?接口文档管理工具 RAP
相关文章

 发表评论

暂时没有评论,来抢沙发吧~