zoukankan      html  css  js  c++  java
  • .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)

     常见报错点:

    API服务打不开,404页面。

    1.是否文件中有WebApiConfig.cs文件

    2.Global.asax 方法 Application_Start   开头添加 GlobalConfiguration.Configure(WebApiConfig.Register);

  • 相关阅读:
    Websocket基础知识简记
    jmeter websocket接口测试
    软件测试的艺术 笔记(上)
    错误提示Unable to preventDefault inside passive event listener解决方法
    vue-cil3关闭eslint语法检查
    mongoDB无法启动服务器
    Vue之todoList
    react踩坑第一章
    父组件向孙子组件传值(Context)特性
    变量声明
  • 原文地址:https://www.cnblogs.com/Alex-Mercer/p/11987926.html
Copyright © 2011-2022 走看看