• WebApi参数传递实例


    Get

    1.基础数据类型

    1.1方法只含有一个形参

    (1)Get传值的本质是通过url字符串拼接
    (2)Get传递参数本质是url字符串拼接,Request-Head头部传递,Request-Body中不能传递(这是与Post方法的本质区别)

            /// <summary>
            /// 方法只含有一个形参
            /// </summary>
            /// <param name="pName">string类型</param>
            /// <returns></returns>
            [HttpGet]
            public Product GetProduct(string pName)
            {
                return new Product
                {
                    Name = pName,
                    Price = 210,
                    PType = 2
                };
            }

    1.2  方法含有多个形参

            public Product GetProductMore(string pName, decimal price, int pType)
            {
                return new Product
                {
                    Name = pName,
                    Price = price,
                    PType = pType
                };
            }

     

    2.实体对象类型(实体传不进去)

    3.实体对象和基础数据类型混合(实体传不进去,基础数据能传递进去)

    4.最小满足原则

    参数符合路由,可以进到后台,但无法解析实体类型,基础类型可以

    5.Get参数长度限制(url长度的限制)

    6.Get规范化

     

    7.关于实体作为参数传递的拓展

     7.1借助[FromUri]特性传递实体

     

     7.2  系列化与反系列化传递实体

    前端参数为序列化string:

    JSON.stringify({ "name": "YaGao", "price": 11.1, "pType": 2 })

     后端反序列化:

      Newtonsoft.Json.JsonConvert.DeserializeObject<Product>(str);

    Post

    1.基础数据类型传递

    1.1[FromBody]单个参数传递

     

    1.2 dynamic参数传递

    2.实体集合作为参数传递

    不加FromBoby也可以正常接收参数

     3.实体集合作为参数传递

    4. 数组作为参数传递

     

  • 相关阅读:
    NSScanner 的使用
    判断ios设备型号
    图片渲染成蓝色的问题
    UITextView使用体会
    html标签的语义化之搜索引擎优化
    如何用 Canvas绘制图形
    js的几个案例
    js的几种面向对象
    CSS3的几个基本知识点简介
    关于html和CSS的几个基本知识点
  • 原文地址:https://www.cnblogs.com/lgxlsm/p/8393906.html
Copyright © 2020-2023  润新知