我正在尝试使用Swagger示例Petstore定义.json文件 - https://github.com/OAI/OpenAPI-Specification/blob/master/examples/v2.0/json/petstore.json
我使用VS 2017>添加>添加REST Api客户端功能 . 导入成功,Swagger Petstore代理类已成功生成并添加到我的项目中 .
现在我想编写实际上能够调用Petstore API的C#代码 . 我无法找到任何利用 proxy classes above 的具体示例 .
我使用REST服务的方式一直在使用C#中的Web Client类 -
string sendText = "abc";
WebClient client = new WebClient();
c.Headers[HttpRequestHeader.ContentType] = "text/xml";
result = c.UploadString(url, sendText);
如何在Pet Store API上编写调用PUT GET POST等操作的代码?
1 回答
您可以使用OpenAPI CodeGen(以前称为swagger)自动生成可由代码调用的API客户端存根(使用各种语言) . 最简单的方法是针对OpenAPI定义JSON模型运行jar文件 . 这就是你在Powershell中的表现 .
下载swagger-codegen-cli.jar文件,然后使用你的json模型 . 这是一个例子:
下载文件
然后运行生成器并输出C#
这将为输出创建一个客户端文件夹 . 结果应包含Api,Client和Model子文件夹 . C#Client将包含可用于进行API调用的存根,它具有RestSharp依赖性 . 然后,您可以使用通用HTTP客户端方法调用客户端方法 .