
AutoRest是一个可以根据restful接口生成客户端代码的工具,大概流程就是输入一个符合OpenAPI规范的REST API描述文件,然后这个工具会将这些描述转化为具体的客户端代码。(项目地址)
下边来描述一下简单的使用过程:
1.安装,使用npm
#安装 npm install -g autorest #查看安装结果 autorest --help #更新 autorest --latest
2.用vs创建一个api项目,并使用openapi
勾选使用openapi
3.修改startup的ConfigureServices中的配置swagger代码
红框中代码如下,这段代码是将方法名称设置为处理对应的operationid。这里的operationid是用来区分不同的请求,要求必须唯一。工具会根据operationid和tag进行代码生成。
c.CustomOperationIds(apiDescription =>
{
return apiDescription.TryGetMethodInfo(out MethodInfo methodInfo) ? methodInfo.Name : null;
});
4.然后启动程序 ,点击链接,保存openapi文件
右键另存为,例如保存到D:test,为swagger.json。
5.在D:test创建autorest.md文件,并填入下边内容 ,此文档详细说明。
这里表明了读取的openapi文件,生成客户端使用typescript和输出文件的目录
# Test API # 一个魔法语句 > see https://aka.ms/autorest ```yaml input-file: swagger.json typescript: true output-folder: myFolder/ ```
6.cd到D:test执行autorest autorest.md,文件生成完毕
类似的工具有swagger-codegen