.net WebApi服务

 搭建测试环境

1.选择Web应用程序

2.选择API服务。如果是已存在的项目,添加对应的控制器,选择API服务

3.Value控制器,新增的API控制器必须继承 ApiController

4.Api路由。 可以在API路由那边,增加一个方法参数, routeTemplate: "api/{controller}/{action}/{id}",自由的定义方法名称

如何调用:https://www.jianshu.com/p/26999e75cfba,这里面主要讲解了,如何传递参数给原本的post方法,参数名是[FromBody]string value;

通过Post请求的时候,只穿key/value,其中key必须为空,value可以是字符串,就可以在服务器端接收到对应的参数了。

这个方法并不是太推荐,总不能将所有的参数都放一个value,然后通过json解析去实现吧。另一个实现类的方法也不推荐,毕竟要实现多少,就需要编写多少个类,太过于麻烦

传入参数可以有四种,对应服务器四种不同的传值类型,个人更推荐传入Json,具体查看:https://blog.csdn.net/qq_22267353/article/details/82216535,下面是服务器端的方法,只要传入参数为JObject类型就可以

 public string PostTest(JObject value)
        {
            var json = JsonConvert.SerializeObject(value);
            return json;
        }

附上Python调用.Net WebApi成功案例,verify 是因为Https的原因

#!/usr/bin/python
#_*_coding:utf-8_*_
import requests,json

url = 'https://localhost:44390/Api/Values/PostTest'  #你的机器人webhook地址
program = {
        "msgtype": "markdown",
    "markdown": {
        "title":"测试",
        "text": "测试,随机多次@人员 "
        }
}
headers = {'Content-Type': 'application/json'}
f = requests.post(url, data=json.dumps(program), headers=headers,verify=False)
print(f)

猜你喜欢

转载自www.cnblogs.com/Alex-Mercer/p/11987926.html