zoukankan      html  css  js  c++  java
  • ASP.NET API

    参数传递

    Get 请求传递参数问题总结:

    1.使用get请求只会通过url传递参数,本质是url字符串拼接,url字符串长度受限制

    2.不使用实体参数,后台方法定义了参数,而请求中缺少参数则匹配不成功;

    3.使用实体参数时需要[FromUri] 属性,实体参数中的字段,请求中参数可以不传递;接口方法中其他参数必需传递

    4.可以同时使用多个实体参数,参数中字段名相同则都赋值Url同名参数

    5.Get类型的方法命名,应尽量采用“Get+方法名”的命名方式,且习惯性地在方法前加上[HttpGet特性];接口方法名不以Get开头,必须添加[HttpGet]属性才能匹配成功。

    Post请求传递参数问题总结:

    1.单个参数(如一个string参数)需要使用[FromBody]属性,不使用会出现404 ;

    jquery Post 参数形式为{ '': 'adc' }  接受参数成功,而微信小程序同样方式方法接收不到参数。

    接口方法中一个参数,jqPost 参数为{‘’:‘abc’,'':'bcd'} (参数名相同了)而查看HTTP请求发现只会传递后一个,接收到参数就为后一个。

    2.使用dynamic 类型参数  jqPost 参数为 {"key1":"abc","key2":"bcd"}  接口方法使用[FromBody] 和dynamic关键字,不使用[FromBody]也可以成功传递,为了规范最好标明

    3.使用实体参数 jqPost 参数为 {"key1":"abc","key2":"bcd"}  接口方法使用[FromBody]  

    4. 集合参数  jq Post 参数

    var Param=[
    { "key1": "abc", "key2": "bcd" },
    { "key1": "abc", "key2": "bcd" },
    { "key1": "abc", "key2": "bcd" }
    ];
    data:Param,
    接口方法参数为Ilist<>类型参数,省略[FromBody]参数可以接收成功
    5.数组参数
    jq Post 参数var Param = ["1", "2", "3"];
    data:Param,
    接口方法参数为string[] arr ,省略[FromBody]参数可以接收成功
    5.Post 请求通过请求体传递参数,相对get请求安全;post没有参数长度限制,get请求url有限制(一般1024b)
     
    规范:对于控制器方法,尽量参照规范格式写,如在相应控制器方法上加上对应的htt请求(Get对应[HttpGet],Post对应[HttpPost]),方法名尽量采用“Http请类型+方法名”格式(如Get请求,建议采用Get+MethodName;Post请求对应Post+MethodName);
  • 相关阅读:
    企业如何在智能制造的时代保持竞争力?
    汽车行业MES系统在产品追溯方面的应用分析
    你能想象未来的MES系统是什么样吗?
    智能制造进入下半场?APS如何进行优化
    【案例】如何让阀门制造提高排产效率?APS系统帮你实现
    APS系统的现状以及与MES系统的关联
    MES被重新定义?做到这几点才算智能制造
    python部分笔记
    BUUCTF Hack World
    BUUCTF--checkin
  • 原文地址:https://www.cnblogs.com/fmys/p/9155585.html
Copyright © 2011-2022 走看看