• WebAPI POST GET


    简而言之,在WEBAPI中采用GET方法方法时在接受参数的时候会在参数前申明 [fromuri]标注从uri中获取如:

    [HttpPost]
    public IHttpActionResult AddProductToCart_Details([fromuri]int productId,[fromuri]int shoppingCartTypeId,[fromuri]int quantity,[fromuri]Loginstatus login)
            {
    .......................
    }
    
    
    模型
    namespace Nop.Plugin.Misc.WebApiServices.Models
    {
        public class LoginStatus
        {
          
            public int userid { set; get; }
            public string logguid { set; get; }
        }
    }

    测试url:

    http://192.168.1.127:8089/api/shoppingcart/AddToCart?productId=59&shoppingCartTypeId=1&quantity=10&userid=1&logguid=729b37c4-63e1-4961-9615-dcf9f314a814

    可以成功,

    当我改为post时,原本想当然的把[httpget]改为[httppst]再把参数接受都改为frombody,但是出错了 显示为无法绑定参数,后查看资料发现 在除说中只能还怎对一个参数启用frombody 标注,后将参数重新进行封装

        [HttpPost]
            public IHttpActionResult AddProductToCart_Details([FromBody]AddToCart add)
            {
    ......
    }
    模型
    namespace Nop.Plugin.Misc.WebApiServices.Models
    {
        public class LoginStatus
        {
          
            public int userid { set; get; }
            public string logguid { set; get; }
        }
    }
    
       public class AddToCart
        {
            private LoginStatus _login;
            public int productId { set; get; }
            public int shoppingCartTypeId { set; get; }
            public int quantity { set; get; }
            public LoginStatus login { set{_login=value;} get{return _login;} }
        }

    用于测试post的表单

    <body>
      <form method="post" action="http://localhost:15536/api/shoppingcart/AddToCart">
        <input type="text" name="productid" value="59">
        <input type="text" name="shoppingcarttypeid" value="1" >
        <input type="text" name="quantity" value="1">
        <input type="text" name="login.userid" value="1">
        <input type="text" name="login.logguid" value="729b37c4-63e1-4961-9615-dcf9f314a814" >
        
        <input type="submit" />
      </form>
    </body>

    唯一注意是在传递login中的参数时命名标注为login.userid login.logguid 否则无法进行绑定

  • 相关阅读:
    【转帖】Explorer参数详解
    获取html页面时如何选择合适的Encoding
    不要在wpf窗口类的构造函数中抛异常
    把FlvDownloader重构了一下
    VK Cup 2012 Qualification Round 1 A. Next Round
    迎接2012新赛季——HDOJ系列热身赛(2) Problem A HDU 4161 Iterated Difference
    青蛙过河~~~~
    VK Cup 2012 Qualification Round 1 D. Ice Sculptures
    HDU 1006 Tick and Tick
    ACM参赛总结
  • 原文地址:https://www.cnblogs.com/xuyufeng/p/4233450.html
Copyright © 2020-2023  润新知