在线接口文档(在线接口文档编写)

4747 1879 2022-10-31


本文目录一览:

java接口文档怎么写

一些刚开始写接口文档的服务端同学,很容易按着代码的思路去编写接口文档,这让客户端同学或者是服务对接方技术人员经常吐槽,看不懂接口文档。这篇文章提供一个常规接口文档的编写方法,给大家参考。

推荐使用的是docway 写接口文档,方便保存和共享,支持导出PDF MARKDOWN,支持团队项目管理。

一、请求参数

1. 请求方法

GET

用于获取数据

POST

用于更新数据,可与PUT互换,语义上PUT支持幂等

PUT

用于新增数据,可与POST互换,语义上PUT支持幂等

DELETE

用于删除数据

其他

其他的请求方法在一般的接口中很少使用。如:PATCH HEAD OPTIONS

2. URL

url表示了接口的请求路径。路径中可以包含参数,称为地址参数,如**/user/{id}**,其中id作为一个参数。

3. HTTP Header

HTTP Header用于此次请求的基础信息,在接口文档中以K-V方式展示,其中Content-Type则是一个非常必要的header,它描述的请求体的数据类型。

常用的content-type:

application/x-www-form-urlencoded

请求参数使用“”符号连接。

application/json

内容为json格式

application/xml

内容为xml格式

multipart/form-data

内容为多个数据组成,有分隔符隔开

4. HTTP Body

描述http body,依赖于body中具体的数据类型。如果body中的数据是对象类型。则需要描述对象中字段的名称、类型、长度、不能为空、默认值、说明。以表格的方式来表达最好。

示例:

二、响应参数

1. 响应 HTTP Body

响应body同请求body一样,需要描述请清除数据的类型。

另外,如果服务会根据不同的http status code 返回不同的数据结构, 也需要针对不同的http status code对内容进行描述。

三、接口说明

说明接口的应用场景,特别的注意点,比如,接口是否幂等、处理是同步方式还是异步方式等。

四、示例

上个示例(重点都用红笔圈出来,记牢了):


什么是接口文档,如何写接口,有什么规范

首先要有一个文档的标题,XXX接口文档,符合当前文档的说明,文档的生产日期,以及公司名称等。现在开始写一个dubbo接口文档,定义标题,以及日期,这里公司省略。使用confluence在线编辑,Confluence为团队提供一个协作环境。团队成员协同地编写文档和管理项目。从此打破不同团队、不同部门以及个人之间信息孤岛的僵局,Confluence实现了资源的共享。

接下来要有当前文档的版本修订信息,即为历史修订信息,应当包含基础的信息有:版本号、修订日期、修订人、修订说明等。

开始编写文档的目录结构,注意大标题和小标题的使用,需要合理的运用说明。首先当然是文档的说明信息,再来是一些准备信息和流程信息,然后开始接口说明,最后可以有举例、常见问题、注意事项、响应码的说明信息等等。

下面开始按照文档的目录结构逐一进行详细的介绍说明,比如文档说明的介绍,用高效简洁的语言明确的说明文档信息,注意文档中大标题应当字体大小样式一致,小标题也应当字体大小注意保持一致。

简单的说明技术资料获取及准备,确认调用系统信息比较重要,需要确认编码格式,防止乱码,确认当前的文档版本是否是要使用的版本,否则白做无用功,项目的搭建环境简单说明即可。

开始说明接口的调用流程,如何调用接口,需要做的一些准备,说明引入相应的依赖以及配置需要配置的文件。

现在可以开始接口的说明,接口的说明信息应当包含接口的名称,接口的地址,接口的协议,然后针对当前接口下的方法说明。

方法的说明应当包含方法的描述,即其作用,方法的请求参数说明,以及响应的参数说明,参数说明应当包含参数的类型,参数名称,参数的含义,并且备注参数是否必须传递。

9

接口说明完之后,就是文档的末尾,有注意事项添加一些注意事项,或者附录说明,添加标注。


http接口测试有什么好工具


在线HTTP POST/GET接口测试工具 - aTool在线工具

最新修改:增加https类型的url请求,目前支持http和https~。

在线接口测试工具 | Introduce

接口测试是测试系统组件间接口的一种测试。接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点。测试的重点是要检查数据的交换,传递和控制管理过程,以及系统间的相互逻辑依赖关系等。

接口测试一般以用于多系统间交互开发,或者拥有多个子系统的应用系统开发的测试。接口测试适用于为其他系统提供服务的底层框架系统和中心服务系统,主要测试这些系统对外部提供的接口,验证其正确性和稳定性。

最简单的应用就是,使用Web http的方式,为APP提供数据接口,这些接口具有一定的动态性,采用传入一定的参数,接口通过参数获取不同的数据返回给使用者,参数传入的方式有GET和POST方式两种,使用浏览器可以直接模拟GET请求,但是POST请求却无能为力,只能编写脚本测试,这就导致接口测试非常麻烦。

本工具提供任意接口的HTTP GET和POST测试,并且提供测试返回值,接口返回时间,并且已经对接口请求的异常状态进行获取,然后反馈给用户。

备注:接口执行时间与本网站服务器有关,仅供参考。

中国银行获取签名中100%是什么意思

签名验证。

中国银行电子支付接口开发文档,签名验证。

在线接口文档扩展,小结,概览工作中,我们时刻都会和接口打交道,有的是调取他人的接口,有的是为他人提供接口,在这过程中肯定都离不开签名验证。

swagger能转化为pdf吗

我们在项目开发完成,接口写好后,需要将接口文档给到前端同学,或者合作方的工程师。但 swagger 对接口阅读并不友好,大部分情况下还得把服务启动好才能访问。这篇文章给各位开发人员介绍如何使用 docway 将 swagger 导出 PDF 或者 markdown 。

第一步:准备 swagger json

打开 swagger ui 的页面

点击 swagger json 的链接(可能没有显示该链接)


请点击输入图片描述

请点击输入图片描述

如果你的 swagger 页面没有显示该链接,F12打开开发者工具,重新刷新后,复制 api-docs 的响应内容。


请点击输入图片描述

请点击输入图片描述

在弹出的tab页中或者 api-docs 的内容,复制下来或者保存到本地文件中

第二步:将 swagger json 导入 docway

登录

在控制台中,新增项目,选择 导入

选择 swagger 导入,并根据自己的 swagger json 选择是“上传文件方式”还是“粘贴json方式”


请点击输入图片描述

请点击输入图片描述

导入后,便可以看到项目信息了


请点击输入图片描述

第三步:导出 PDF markdown

在项目的“更多设置”中,找到“项目导出”功能。可以选择 PDF Markdown 导出。


请点击输入图片描述

docway 是一款在线接口文档管理工具,除了 PDF markdown 导出, 还支持接口设计、接口分享、接口mock、接口历史记录、接口版本管理、团队管理等功能。

如何使 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

访问 ;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

ListParameter();

var filterPipeline =

apiDescription.ActionDescriptor.GetFilterPipeline();

//判断是否添加权限过滤器

var isAuthorized = filterPipeline.Select(filterInfo =

filterInfo.Instance).Any(filter = filter is IAuthorizationFilter);

//判断是否允许匿名方法

var allowAnonymous =

apiDescription.ActionDescriptor.GetCustomAttributesAllowAnonymousAttribute().Any();

if (isAuthorized  !allowAnonymous)

{

operation.parameters.Add(new Parameter

{

name = "access-key",

@in = "header",

description = "用户访问Key",

required = false,

type = "string"

});

}

}

}

}

在 SwaggerConfig.cs 的 EnableSwagger 配置匿名方法类添加一行注册代码

c.OperationFilterHttpHeaderFilter();

添加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.OperationFilterUploadFilter();

API 文档展示效果



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

上一篇:WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED
下一篇:语音信号处理、语音信号分析
相关文章

 发表评论

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