生产企业网站如何做seo,奥尔马手表官方网站,知名高端网站建设服务商,大连做网站绍兴厂商简介 对于.net来说#xff0c;用web api来构建服务是一个不错的选择#xff0c;都是http请求#xff0c;调用简单#xff0c;但是如果真的要在程序中调用#xff0c;则还有些工作要做#xff0c;比如我们需要手写httpClient调用#xff0c;并映射Model#xff0c; 如果… 简介 对于.net来说用web api来构建服务是一个不错的选择都是http请求调用简单但是如果真的要在程序中调用则还有些工作要做比如我们需要手写httpClient调用并映射Model 如果服务少还可以多了就繁琐了。 Swagger 关于Swagger的信息其他博客已经有介绍这里就不多说。 大家可以参考http://chuansong.me/n/322685748559 使用Swagger后可以解决服务没有文档或者文档和服务不同步的问题同时Swagger自带的就有模拟请求的功能所以可以在页面上直接测试接口。 这些不仅对开发对测试同学也是友好的。 下面是一个简单的Web API,添加注释 引用swagger后访问http://XXX/swagger/ui/index(XXX为你的域名)结果如下可以看到页面上会显示你的服务以及服务的描述。 点击具体某个服务你可以看到你定义的参数并可以直接在页面上发起测试。 AutoRest 有了Swagger后方便查看服务接下来就是如何调用服务过往我们通常会写一个HttpUtils的类里面包含SendGetSendPost两个方法如果是简单参数还好但是如果Get请求返回一个对象或者Post的时候需要发送一个对象则需要手写这些类进行封装。 这里介绍一个组件:AutoRest (https://github.com/Azure/AutoRest), 简单来说就是一个EXE工具可以根据Swagger的结构生成服务的客户端这个客户端可以让你像调用本地方法一样调用服务方法内部包装了Http请求。 在Swagger页面你可以点击Explore按钮通过浏览器可以看到这里返回了一个Json字符串页面也是根据这个字符串进行的渲染AutoRest也是根据这个结构来生成调用类。 选择Nuget下载AutoRest 在solution下面找到pageage文件夹目录如下 在命令行里面打开 输入如下 AutoRest.exe -CodeGenerator CSharp -Modeler Swagger -Input http://XXX/swagger/docs/v1 -Namespace UserServiceClient, 其中Input的参数就是Swagger的Json地址具体参数含义可以查看文档。 执行成功后在当前目录下会生成一个Generated目录 打开文件如下 新建一个控制台程序将整个文件夹copy到控制台程序下文件夹名称可以随意定义。 同时控制台程序需要在Nuget中引用一个Client. 写代码调用同时支持同步接口和异步接口。 至此全部完成。 总结 1. 以上这种方式可以由服务端的同学完成然后将生成的代码简单修改后编译发布到公司内nuget上其他同学可以直接到公司内nuget下载 2. 服务端同学可以只集成Swagger然后其他同学如果要用可以通过工具生成。 3. 以上仅是公司再未使用RPC前,方便服务调用的一种方式。 后面我会介绍一些.Net下的其他的服务调用方式比如Hession,serverstack转载于:https://www.cnblogs.com/beyondbit/p/5957124.html