C#从零开始创建一个可调用的web API
背景:
c#大部分是用来做工业自动化的,我也是做这一行的。最近我们公司要对接柏楚的机床,做数据采集的时候需要做一个api来接收对方机床反馈的机床加工完成信号。
逻辑:
1新建一个API
2把本地的API服务映射到内网上
3把内网上的API服务映射到外网上
一、新建一个API
ASP.NET Web API 2 (C#) 入门 - ASP.NET 4.x | Microsoft Docs
看微软的文档就足够了,如果看不懂或者遇到问题看下面。
1新建ASP.Net web 应用程序.net framwork(这里vs我用的是2018版本的)
2模板选择web api (高版本的vs不要勾选https协议,勾选了的话会很麻烦)
3添加基础类(就是api返回的内容)(微软代码复制过来)
4添加控制器(控制器是一个转换器,让本机电脑通过规则访问到程序内部的函数)(微软代码复制过来)
5添加html页面(主要是用来测试API的)(微软代码复制过来)
把这些做完点击运行就好了,这个时候就可以用PostMan通过本机地址加端口号去访问了。
二、使用nginx把本机的api服务映射到内网上去
主要有以下两步
1、下载nginx(我使用的是稳定版本)
nginx: download 点击这个就可以下载
2、修改配置文件(修改这个文件)
修改内容如下
保存,点击运行nginx.exe这个文件就行了,程序会一闪而过,判断是否开启成功需要去任务管理器中看,如果有两个nginx.exe进程就是开启成功了。如果你在修改文档之前已经打开nginx你需要关闭之后再重新打开,关闭用任务管理器强制关闭。
这个时候你就可以用postman通过两个url来访问到api服务了:localhost+api端口号、localhost+内网端口号。
三、安装花生壳内网穿透软件
1、下载花生壳
花生壳内网穿透|ddns动态域名解析|端口映射工具-贝锐花生壳官网
2花7块钱买个域名
3开始配置
按下面4张图就好了,第二张图的时候要花7块钱。
花生壳有任何问题直接问客服app内可以找到,毕竟你花了钱。
总结
这样就ok啦,如果你想自己先用postman测一下api我这边我这边已经做好了一个,通过这个url就能访问https://r590608e27.zicp.fun/api/products/1,方法是GET。