博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
接口传参几种方式
阅读量:5339 次
发布时间:2019-06-15

本文共 1676 字,大约阅读时间需要 5 分钟。

Post

  1. Querystring

最简单,url中传递过来的参数,可以用request获取,也可以在api的参数中获取

Public  void   action(string a){}

 

  1. Form

用于接收表单数据,例如ajax中提交过来的数据

请求代码

$.ajax({

            url: "http://localhost:5136/api/demo",

            dataType: "json",

            type: 'post',

            data: {a:1,b:2,value:"1231"},

            success: function (d) {

              

                        alert(d);

               

            }

        });

 

接收代码 

HttpContext.Current.Request.From[“”]

 

  1. Content

将参数放在请求内容中

Public  void   action([FromBody]object id){}

 

请求代码

  public void WebApiTest_AddProduct()

        {

            using (var client = new HttpClient())

            {

                client.BaseAddress = new Uri("http://localhost:5136/");

 

                var requestJson = JsonConvert.SerializeObject(

                    new

                    {

                        id = "1",

                        name = "2"

                    });

 

                HttpContent httpContent = new StringContent(requestJson);

                httpContent.Headers.ContentType = new MediaTypeHeaderValue("application/json");

 

                var result = client.PostAsync("api/demo", httpContent).Result.Content.ReadAsStringAsync().Result;

                return;

            }

        }

 

 

 

  1. Body 文件流

将请求参数以文件流的形式提交

 

请求代码

WebRequest req = WebRequest.Create("http://localhost:5136/api/demo");

            req.Method = "POST";

            req.ContentType = "application/json";

            byte[] data = Encoding.GetEncoding("UTF-8").GetBytes("{ \"a\":1,\"b\":2,\"value\":\"123\"}");

            req.ContentLength = data.Length;

            Stream sendStream = req.GetRequestStream();

            sendStream.Write(data, 0, data.Length);

            sendStream.Close();

            req.GetResponse();

 

 

 

#region 从文件流中获取参数

            byte[] byts = new byte[HttpContext.Current.Request.InputStream.Length];

            HttpContext.Current.Request.InputStream.Read(byts, 0, byts.Length);

            string req = System.Text.Encoding.Default.GetString(byts);

 

            # endregion 从文件流中获取参数

 

 

 

 

Put

方法接收参数,

参考

http://www.cnblogs.com/landeanfen/p/5337072.html

 

接收ajax参数,使用Request/Request.Form

其他同post

 

 

Get

通过路由匹配,或者request【】请求

Delete

转载于:https://www.cnblogs.com/jiao006/p/8057226.html

你可能感兴趣的文章
shell - 常识
查看>>
mssql sqlserver 使用sql脚本 清空所有数据库表数据的方法分享
查看>>
分层图最短路【bzoj2763】: [JLOI2011]飞行路线
查看>>
linux下编译复数类型引发的错误:expected unqualified-id before '(' token
查看>>
codeforces 1041A Heist
查看>>
字典常用方法
查看>>
Spring Cloud Stream消费失败后的处理策略(三):使用DLQ队列(RabbitMQ)
查看>>
bzoj1048 [HAOI2007]分割矩阵
查看>>
Java中的编码
查看>>
PKUWC2018 5/6
查看>>
As-If-Serial 理解
查看>>
洛谷P1005 矩阵取数游戏
查看>>
在Silverlight中使用HierarchicalDataTemplate为TreeView实现递归树状结构
查看>>
无线通信基础(一):无线网络演进
查看>>
如何在工作中快速成长?阿里资深架构师给工程师的10个简单技巧
查看>>
WebSocket 时时双向数据,前后端(聊天室)
查看>>
关于python中带下划线的变量和函数 的意义
查看>>
linux清空日志文件内容 (转)
查看>>
安卓第十三天笔记-服务(Service)
查看>>
Servlet接收JSP参数乱码问题解决办法
查看>>