南京行业网站建设,企业服务包括哪些方面,浙江省建设信息港的网站,教学网页制作1 swagger简介Swagger是一个规范且完整的框架#xff0c;提供描述、生产、消费和可视化RESTful Web Service。其核心是使用json来规范描述RESTful接口#xff0c;另外有提供UI来查看接口说明#xff0c;并有一套生成不同语言的客户端调用代码生成器。1.1 对Api提供者自顶向下… 1 swagger简介Swagger是一个规范且完整的框架提供描述、生产、消费和可视化RESTful Web Service。其核心是使用json来规范描述RESTful接口另外有提供UI来查看接口说明并有一套生成不同语言的客户端调用代码生成器。1.1 对Api提供者自顶向下使用Swagger编辑器创建Swagger定义然后使用Swagger代码生成工具生成服务器实现。自底向上为已有的REST API创建Swagger定义。一般的Api提供者都会选择这种方式比如在asp.net里集成swagger的支持在写好接口代码之后访问对应的swagger的访问Uri地址就可以得到swagger.json。例如http://petstore.swagger.io/v2/swagger.json1.2 对Api使用者使用swagger UI一些提供者的站点会提供swagger ui来查看其swagger.json例如http://petstore.swagger.io/ 有了这些UI自己手工编写客户端调用代码也非常简单了。使用Swagger Codegen可以Swagger Codegen的将swagger.json逆向生成你需要的客户端调用接口代码本质上是使用了代码模板结合swagger.json描述来生成代码。在.net里有一个Nswag项目可以将swagger.json生成使用HttpClient来请求接口的c#代码。但是这些代码的质量也比较差比如以下代码的HttpClient的生命周期也就无法很好的维护。2 WebApiClient.tools简介WebApiClient是.net平台的一款RESTful声明式的面向切面客户端其几乎100%实现了swagger定义的规范WebApiClient.tools.swagger旨在将swagger.json逆向生成符合WebApiClient的声明式c#代码。2.1 作用使用原生HttpClient你可能需要20行代码包装调用一个接口使用WebApiClient你可能只需要一行代码来定义接口方法使用WebApiClient WebApiClient.tools.swagger你一行代码都不用写。2.2 工作原理使用NSwag解析json得到SwaggerDocument使用RazorEngine将SwaggerDocument传入cshtml模板编译得到html使用AngleSharp将html的文本代码提取得到WebApiClient的声明式代码代码美化输出到本地文件2.3 样例效果接口代码模型代码3 相关资源WebApiClientgithub: https://github.com/dotnetcore/WebApiClientWebApiClient.toolsgithub: https://github.com/xljiulang/WebApiClient.ToolsNSwaggithub: https://github.com/RSuter/NSwagRazorEnginegithub: https://github.com/Antaris/RazorEngine相关文章使用WebApiClient请求和管理Restful Apinet的retrofit--WebApiClient库.net的retrofit--WebApiClient库深入篇.net的retrofit--WebApiClient底层篇WebApiClient百度地图服务接口实践WebApiClient的接口输入验证WebApiClient的JsonPatch局部更新声明式RESTful客户端在asp.net core中的应用原文地址https://www.cnblogs.com/kewei/p/9786319.html.NET社区新闻深度好文欢迎访问公众号文章汇总 http://www.csharpkit.com