本篇文章给大家谈谈api接口文档生成器,以及api接口文档生成工具对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
今天给各位分享api接口文档生成器的知识,其中也会对api接口文档生成工具进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
现在大公司用的API文档生成工具有哪些?分析下各种工具的优缺点,哪种工具用起来最方便?
在API 经济模式下, IBM提出API 经济解决方案:http://www-01.ibm.com/software/cn/middleware/integration/api-economy.html,其中有专门的API管理和连接的产品,叫API Connect,产品连接是http://www-03.ibm.com/software/products/zh/api-connect
php接口文档生成工具phpdoctor怎么用
一、phpxref↑
PHPXref是一个易用级的PHP项目文档生成工具,它生成Html的文档—-结构清晰、明了。PHPXref可以方便的在不同平台下(Linux with Perl,Win32 with EXE)帮助你生成某一目录下所有php文件的“资源”索引文档。这些“资源”,包括:Class(类)、Function(函数)、Variable(变量)、Constant(常量)…..。PHPXref给我们列出了这些资源的定义与引用的详细情况。我们可以很方便地找到某一个函数(变量)在何处被定义,在何处被调用(引用)。 这里以Wordpress为例,它能Wordpress中所有的函数、变量、常量等分类记录,生成一个HTML网页列表,你可以轻松地在这个列表中找到某个函数在什么位置被定义,在什么位置被引用。如果你是Wordpress插件开发者或者想学习研究Wordpress的人,项目文档的作用比较明显。 PHPXref官方有个已经制作好的Wordpress的分析文档:http://phpxref.com/xref/wordpress/,此外,PHPXref还制作了多种PHP程序的分析文档,有兴趣的可以Google站内搜索一下。 PHPXref的主要功能包括:
文件管理。无论要找什么文件,用它能很快地搜索到,如果你的文件中有符合语法规则的注释,PHPXref还能将它列在文件名的旁边,更容易了解这个文件的功能用途,也不用为了找一个文件翻遍整个文件夹,打开每个文件查找注释了。
函数、变量、常量、类管理。Wordpress内置了多种功能强大的函数、类,无论是字符处理还是远程URL读取等都有现成的函数,但我们往往 不知道这个函数能在Wordpress里面找到,现在容易多了,搜索一下就找到了,如果在开发过程中遇到某个Wordpress函数,不知道它是干什么用 的,这时候就得找到这个函数在哪里定义的,可是Wordpress里面上百个文件上哪找去?还是用PHPXref好了。
文件包含管理。Wordpress中需要很多 include,require包含别的文件,但偶尔也会遇到重复包含导致出错,虽然require_once可以解决,但我们也最好要了解某个脚本包含 了哪些文件,要调用这个文件时也心中有数。PHPXref提供了每个文件的包含文件列表和被包含的文件。
源代码高亮。这个功能也是比较实用的,但在实际测试中偶尔会出错。
出色的关联功能。在浏览源代码时,将鼠标指到某个函数名,就会在鼠标旁边出现函数的定义页面,以及被使用次数,此外,还对使用较多的变量名,也是可以直接有个页面显示所有的关于这个变量的使用情况。
简介下windows下其使用过程:
1、下载:官方网站:phpxref官方sf网站
2、使用(以下载windows版本为例):通过以上下载你将得phpxref-0.7-win32.zip压缩包。
步骤一:解压phpxref-0.7-win32.zip。进入phpxref-0.7-win32(注:不用安装的,所以你不用习惯性的去点击.exe可执行文件),你将看一个名为:source的目录—它很关键;
步骤二:复制你的项目文件到上面提到的source目录。
步骤三:双击phpxref.exe;
步骤四:如果项目比较大,请耐心等待数秒钟。
步骤五:进入和source目录同级的output目录,你将看到一些东西。呵呵,双击index.html开始观看你的项目文档,去尝试吧,它能告诉你的很多哦。
PHPXref还提供了在Linux下生成文档的版本,但我很少用,也没有去测试了,我想更多数人需要的还是Win系统下的,如果有需要,把Win下生成的文档可以搬到服务器上去供大家访问。但PHPxref生成的文档实在太大了,一个1.2MB的Wordpress(压缩包),解压后再生成文档,居然要80多 MB的位置!压缩完后也需要接近20MB。 除了用PHPXref来生成已有的Wordpress或其他PHP示范程序(如Discuz)进行学习外,用PHPXref来生成自己制作的PHP 程序,进行检验错误或者是整理代码资源也很有用
二、PHP Doctor↑
安装php支持(若你有php环境支持,可以略去),设置环境变量path,把php 的安装路径加上,比如php 安装在d:/php5/
下载phpdoctor,可以去官网下载把下载的压缩包解压到任何地方
配置phpdoctor, phpdoctor 最基本的配置,复制一个ini文件进行就该就好
//源码路径,比如您的源码路径d:work/phptest,如下设置
source_path=“d:work/phptest”
//生成的html 文档保存路径,默认是保存在当前目录下apidocs(系统自动创建),可以更改为其他目录,比如
d = "apidocs"或 d = "d:work/doc"
生成文档
打开你的cmd,先切换到你的phpdoctor 安装路径,然后执行下面代码
php phpdoc.php <config_file
如何使 WebAPI 自动生成漂亮又实用在线API文档
1.1 SwaggerUI
SwaggerUI 是一个简单的Restful API 测试和文档工具。简单、漂亮、易用(官方demo)。通过读取JSON 配置显示API. 项目本身仅仅也只依赖一些 html,css.js静态文件. 你可以几乎放在任何Web容器上使用。
1.2 Swashbuckle
Swashbuckle 是.NET类库,可以将WebAPI所有开放的控制器方法生成对应SwaggerUI的JSON配置。再通过SwaggerUI 显示出来。类库中已经包含SwaggerUI 。所以不需要额外安装。
2.快速开始
创建项目 OnlineAPI来封装百度音乐服务(示例下载) ,通过API可以搜索、获取音乐的信息和播放连接。
我尽量删除一些我们demo中不会用到的一些文件,使其看上去比较简洁。
WebAPI 安装 Swashbuckle
Install-Package Swashbuckle
代码注释生成文档说明。
Swashbuckle 是通过生成的XML文件来读取注释的,生成 SwaggerUI,JSON 配置中的说明的。
安装时会在项目目录 App_Start 文件夹下生成一个 SwaggerConfig.cs 配置文件,用于配置 SwaggerUI 相关展示行为的。如图:
将配置文件大概99行注释去掉并修改为
c.IncludeXmlComments(GetXmlCommentsPath(thisAssembly.GetName().Name));
并在当前类中添加一个方法
/// <summary
/// </summary
/// <param name="name"</param
/// <returns</returns
protected static string GetXmlCommentsPath(string name)
{
return string.Format(@"{0}\bin\{1}.XML", AppDomain.CurrentDomain.BaseDirectory, name);
}
紧接着你在此Web项目属性生成选卡中勾选 “XML 文档文件”,编译过程中生成类库的注释文件
添加百度音乐 3个API
访问 lt;youhost/swagger/ui/index,最终显示效果
我们通过API 测试API 是否成功运行
3.添加自定义HTTP Header
在开发移动端 API时常常需要验证权限,验证参数放在Http请求头中是再好不过了。WebAPI配合过滤器验证权限即可
首先我们需要创建一个 IOperationFilter 接口的类。IOperationFilter
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Http;
using System.Web.Http.Description;
using System.Web.Http.Filters;
using Swashbuckle.Swagger;
namespace OnlineAPI.Utility
{
public class HttpHeaderFilter : IOperationFilter
{
public void Apply(Operation operation, SchemaRegistry
schemaRegistry, ApiDescription apiDescription)
{
if (operation.parameters == null) operation.parameters = new
List<Parameter();
var filterPipeline =
apiDescription.ActionDescriptor.GetFilterPipeline();
//判断是否添加权限过滤器
var isAuthorized = filterPipeline.Select(filterInfo =
filterInfo.Instance).Any(filter = filter is IAuthorizationFilter);
//判断是否允许匿名方法
var allowAnonymous =
apiDescription.ActionDescriptor.GetCustomAttributes<AllowAnonymousAttribute().Any();
if (isAuthorized !allowAnonymous)
{
operation.parameters.Add(new Parameter
{
name = "access-key",
@in = "header",
description = "用户访问Key",
required = false,
type = "string"
});
}
}
}
}
在 SwaggerConfig.cs 的 EnableSwagger 配置匿名方法类添加一行注册代码
c.OperationFilter<HttpHeaderFilter();
添加Web权限过滤器
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Net.Http;
using System.Text;
using System.Web;
using System.Web.Http;
using System.Web.Http.Controllers;
using Newtonsoft.Json;
namespace OnlineAPI.Utility
{
/// <summary
///
/// </summary
public class AccessKeyAttribute : AuthorizeAttribute
{
/// <summary
/// 权限验证
/// </summary
/// <param name="actionContext"</param
/// <returns</returns
protected override bool IsAuthorized(HttpActionContext actionContext)
{
var request = actionContext.Request;
if (request.Headers.Contains("access-key"))
{
var accessKey = request.Headers.GetValues("access-key").SingleOrDefault();
//TODO 验证Key
return accessKey == "123456789";
}
return false;
}
/// <summary
/// 处理未授权的请求
/// </summary
/// <param name="actionContext"</param
protected override void HandleUnauthorizedRequest(HttpActionContext actionContext)
{
var content = JsonConvert.SerializeObject(new {State = HttpStatusCode.Unauthorized});
actionContext.Response = new HttpResponseMessage
{
Content = new StringContent(content, Encoding.UTF8, "application/json"),
StatusCode = HttpStatusCode.Unauthorized
};
}
}
}
在你想要的ApiController 或者是 Action 添加过滤器
[AccessKey]
最终显示效果
4.显示上传文件参数
SwaggerUI 有上传文件的功能和添加自定义HTTP Header 做法类似,只是我们通过特殊的设置来标示API具有上传文件的功能
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Http.Description;
using Swashbuckle.Swagger;
namespace OnlineAPI.Utility
{
/// <summary
///
/// </summary
public class UploadFilter : IOperationFilter
{
/// <summary
/// 文件上传
/// </summary
/// <param name="operation"</param
/// <param name="schemaRegistry"</param
/// <param name="apiDescription"</param
public void Apply(Operation operation, SchemaRegistry schemaRegistry, ApiDescription apiDescription)
{
if (!string.IsNullOrWhiteSpace(operation.summary) operation.summary.Contains("upload"))
{
operation.consumes.Add("application/form-data");
operation.parameters.Add(new Parameter
{
name = "file",
@in = "formData",
required = true,
type = "file"
});
}
}
}
}
在 SwaggerConfig.cs 的 EnableSwagger 配置匿名方法类添加一行注册代码
c.OperationFilter<UploadFilter();
API 文档展示效果
JeeSpringCloud-互联网云快速开发框架
(一款免费开源的JAVA互联网云快速开发平台)微服务分布式代码生成的敏捷开发系统架构。项目代码简洁,注释丰富,上手容易,还同时集中分布式、微服务,同时包含许多基础模块和监控、服务模块。
演示版地址:http://bknfdnl.hn3.mofasuidao.cn/admin/login
一、平台简介
在线文档:https://gitee.com/JeeHuangBingGui/jeeSpringCloud/wikis
视频和文档下载:https://gitee.com/JeeHuangBingGui/jeeSpringCloud/attach_files
开源中国地址:https://www.oschina.net/p/jeeSpringCloud
文档视频下载:https://gitee.com/JeeHuangBingGui/jeeSpringCloud/attach_files
JeeSpringCloudV3.0-互联网云快速开发框架模块包含定时任务调度、服务器监控、平台监控、异常邮件监控、服务器Down机邮件监控、平台设置、开发平台、邮件监控、图表监控、地图监控、单点登录、Redis分布式高速缓存、
ActiveMQ队列、会员、营销、在线用户、日志、在线人数、访问次数、调用次数、直接集群、接口文档、生成模块、代码实例、安装视频、教程文档、dubbo、springCloud、SpringBoot、mybatis、springmvc、IOC、AOP、定时任务、切面缓存、MVC、事务管理。
RedisMQ队列、代码生成(单表、主附表、树表、列表和表单、增删改查云接口、redis高速缓存对接代码、图表统计、地图统计、vue.js)、工作流、模块化
代码生成前端控件包括单行文本、富文本、下拉选项、复选框、日期选择、文件上传选择、树选择控件、单选按钮、多行文本….。
二、平台功能
用户管理:用户是系统操作者,该功能主要完成系统用户配置。
部门管理:配置系统组织机构(公司、部门、小组),树结构展现支持数据权限。
岗位管理:配置系统用户所属担任职务。
菜单管理:配置系统菜单,操作权限,按钮权限标识等。
角色管理:角色菜单权限分配、设置角色按机构进行数据范围权限划分。
字典管理:对系统中经常使用的一些较为固定的数据进行维护。
参数管理:对系统动态配置常用参数。
通知公告:系统通知公告信息发布维护。
操作日志:系统正常操作日志记录和查询;系统异常信息日志记录和查询。
登录日志:系统登录日志记录查询包含登录异常。
在线用户:当前系统中活跃用户状态监控。
定时任务:在线(添加、修改、删除)任务调度包含执行结果日志。
代码生成:前后端代码生成(单表、主附表、树表、列表和表单、增删改查云接口、redis高速缓存对接代码、图表统计、地图统计、vue.js) ,并生成菜单和权限直接使用。
系统接口:根据业务代码自动生成相关的api接口文档。
连接池监视:监视当期系统数据库连接池状态,可进行分析SQL找出系统性能瓶颈。
在线接口文档:使用swager生成在线文档。
ActiveMQ队列:提供ActiveMQ队列,处理批量发送大数据量邮件、大数据量日志文件。
工作流:功能包括在线办公、我的任务、审批测试、流程管理、模型管理。
CMS:功能包括内容管理、内容管理、统计分析、栏目设置、首页。
dubbo:代码生成直接生成dubbo对接代码。
服务器Down机邮件监控:通过定时任务监控服务器是否Down机,并发送通知邮件。
服务器监控:通过 sigar 进行服务器图形化监控。
异常邮件监控:全局拦截系统异常,并发送通知邮件。
单点登录:使用shior和Redis、共享session方式实现单点登录。
Redis分布式高速缓存:代码生成直接生成Redis对接代码。
三、系统截图
JeeSpringCloudV3.0-互联网云快速开发框架(后台)
四、平台特性
JeeSpringCloud基于SpringBoot+SpringMVC+Mybatis+Redis+SpringCloud+Vue.js微服务分布式代码生成的敏捷开发系统架构。项目代码简洁,注释丰富,上手容易,还同时集中分布式、微服务,同时包含许多基础模块(用户管理,角色管理,部门管理,字典管理等10个模块。成为大众认同、大众参与、成就大众、大众分享的开发平台。JeeSpring官方qq群(328910546)。代码生成前端界面、底层代码(spring mvc、mybatis、Spring boot、Spring Cloud、微服务的生成)、安全框架、视图框架、服务端验证、任务调度、持久层框架、数据库连接池、缓存框架、日志管理、IM等核心技术。努力用心为大中小型企业打造全方位J2EE企业级平台ORM/Redis/Service仓库开发解决方案。一个RepositoryService仓库就直接实现dubbo、微服务、基础服务器对接接口和实现。
努力用心为大中小型企业打造全方位J2EE企业级平台开发解决方案。
Spring Boot/Spring cloud微服务是利用云平台开发企业应用程序的最新技术,它是小型、轻量和过程驱动的组件。微服务适合设计可扩展、易于维护的应用程序。它可以使开发更容易,还能使资源得到最佳利用。
微服务/集群(nignx) 支持REST风格远程调用(HTTP + JSON/XML):基于非常成熟的Spring Boot框架,在Spring Boot Spring Cloud中实现了REST风格(HTTP + JSON/XML)的远程调用,以显著简化企业内部的跨语言交互,同时显著简化企业对外的Open API、无线API甚至AJAX服务端等等的开发。
事实上,这个REST调用也使得Dubbo可以对当今特别流行的“微服务”架构提供基础性支持。 另外,REST调用也达到了比较高的性能,在基准测试下,HTTP + JSON默认的RPC协议(即TCP + Hessian2二进制序列化)之间只有1.5倍左右的差距,详见下文的基准测试报告。
ORM/Redis/Service仓库
RepositoryORM仓库,提供ORM接口和多种实现,可进行配置实现。
RepositoryRedis仓库,提供Redis接口和多种实现,可进行配置实现。可以配置调用单机、redis、云redis对接。
RepositoryService仓库,提供Service接口和多种实现,可进行配置实现。一个RepositoryService仓库就直接实现dubbo、微服务、基础服务器对接接口和实现。
五、架构说明
技术选型
六、代码生成器
代码生成器
七、开发入门
平台教程:https://gitee.com/JeeHuangBingGui/jeeSpringCloud/attach_files
官方提供:
1、详细部署文档。
2、部署视频。
3、中级培训视频待定,包括代码生成、架构代码介绍。
4、高级培训视频待定,包括架构代码详解。
5、架构培训视频待定,包括架构详解、代码生成详解。
平台教程:https://gitee.com/JeeHuangBingGui/jeeSpringCloud/attach_files
八、在线体验
演示版地址:http://bknfdnl.hn3.mofasuidao.cn/admin/login
jdk是api吗
JAVA的JDK和API的区别是:
1、Java好比房子,API好比土地,JDK好比开发商的关系。
2、 JDK与API都是为了JAVA,互依互存,又各自独立,只有共同才能创造价值。
一、全称:
1、JDK:Java Development Kit 。
2、API:Application Programming Interface 。
二、概念:
1、Java:是一种可以撰写跨平台应用软件的面向对象的程序设计语言。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。
2、JDK:
(1)、JDK是Sun Microsystems针对Java开发员的产品。JDK本身使用了Java语言编写。简单的说JDK是面向开发人员使用的SDK,它提供了Java的开发环境和运行环境。SDK是Software Development Kit 一般指软件开发包,可以包括函数库、编译程序等。
(2)、 自从Java推出以来,JDK已经成为使用最广泛的Java SDK(Software development kit)。
3、API:
(1)、API是应用程序编程接口。
(2)、 是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件的以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。
三、作用:
1、JDK:
(1)、jdk是 Java 语言的软件开发工具包。主要用于移动设备、嵌入式设备上的java应用程序。
(2)、JDK 是整个Java的核心,包括了Java运行环境(Java Runtime Envirnment),一堆Java工具和Java基础的类库(rt.jar)。
(3)、不论什么Java应用服务器实质都是内置了某个版本的JDK。
2、API:
(1)、运行Java程序时,虚拟机装载程序的class文件所使用的Java API class文件。
(2)、ava API在Java安全性模型方面也有贡献。当Java API的方法进行任何有潜在危险的操作(比如进行本地磁盘写操作)之前,都会通过查询访问控制器来检验是否得到了授权。访问控制器是一个类,该类用来执行栈检验,已决定是否允许某种操作。
四、其它:
1、JDK:
(1)、JDK包含的基本组件包括:javac – 编译器、jar – 打包工具、javadoc – 文档生成器、jdb – debugger-查错工具、java – 运行编译后的java程序、appletviewer-小程序浏览器、Javap-Java反汇编器、Jconsole: Java进行系统调试和监控的工具等。
(2)、jdk1.8新特性:
(1)、Java 8允许我们给接口添加一个非抽象的方法实现,只需要使用 default关键字即可。
(2)、新增lambda表达式
(3)、提供函数式接口
(4)、Java 8 允许你使用 :: 关键字来传递方法或者构造函数引用
(5)、我们可以直接在lambda表达式中访问外层的局部变量。
2、API:组成及特点:
(1)、所有被装载的class文件(包括从应用程序中和从Java API中提取的)和所有已经装载的动态库(包含本地方法)共同组成了在Java虚拟机上运行的整个程序。
(2)、在一个平台能够支持Java程序以前,必须在这个特定平台上明确地实现API的功能。
(3)、为访问主机上的本地资源,Java API调用了本地方法。
(4)、由于Java API class文件调用了本地方法,Java程序就不需要再调用它们了。
(5)、通过这种方法,Java API class文件为底层主机提供了具有平台无关性、标准接口的Java程序。
(6)、对Java程序而言,无论平台内部如何,Java API都会有同样的表现和可预测的行为。
(7)、正是由于在每个特定的主机平台上明确地实现了Java虚拟机和Java API,因此,Java程序自身就能够成为具有平台无关性的程序。
关于api接口文档生成器和api接口文档生成工具的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
api接口文档生成器的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于api接口文档生成工具、api接口文档生成器的信息别忘了在本站进行查找喔。
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
暂时没有评论,来抢沙发吧~