webapi get请求 FromUri list参数传递

今天做项目调用第三方的webapi时,发现get请求竟然用的是FromUri list参数,汗...

这里简单记录下请求传参的方式(但不推荐大家使用get FromUri list参数 来定义webapi的功能):

 1        HttpClient hClient = new HttpClient(new MyHttpClienHanlder());
 2
 3             string url = "http://api.test.com/api/pk/index?pkId=2322";
 4             //var ret = hClient.GetAsync(url);
 5             //var ss = ret.Result.Content.ReadAsStringAsync().Result;
 6             //Console.WriteLine(ss);
 7             //Console.WriteLine("\r\n\r\n\r\n****************************************************************\r\n\r\n\r\n");
 8
 9             List<long> pIds = new List<long>();
10             pIds.Add(2322);
11             pIds.Add(1824);
12             //List<KeyValuePair<string, string>> paramList = new List<KeyValuePair<string, string>>();
13             //paramList.Add(new KeyValuePair<string, string>("pkIds", Newtonsoft.Json.JsonConvert.SerializeObject(pIds)));
14
15             string parasFormat = "pkIds[{0}]={1}&";
16             StringBuilder paras = new StringBuilder();
17             for (var i = 0; i < pIds.Count; i++)
18             {
19                 paras.AppendFormat(parasFormat, i, pIds[i]);
20             }
21
22             url = "http://api.test.com/api/pk/list?" + paras.Remove(paras.ToString().Length - 1, 1).ToString();
23
24             //var ret = hClient.PostAsync(url, new FormUrlEncodedContent(paramList));
25             var ret = hClient.GetAsync(url);
26             var ss = ret.Result.Content.ReadAsStringAsync().Result;
27             Console.WriteLine(ss);
28
29             hClient.Dispose();
时间: 2024-10-08 18:33:34

webapi get请求 FromUri list参数传递的相关文章

Asp.Net WebApi Post请求整理(一)

Asp.Net WebApi+JQuery Ajax的Get请求整理 一.总结 1.WebApi 默认支持Post提交处理,返回的结果为json对象,前台不需要手动反序列化处理.2.WebApi 接收Post提交参数需要指定([FromBody] string name)3.WebApi 中如果只接收一个基础类型参数,不能指定key的名称4.WebApi Post请求Action只能接收一个参数,也就是说一个Action中[FromBody]仅可指定一次5.WebApi Post请求处理多个参数

webapi拦截请求

[AttributeUsage(AttributeTargets.Method)] public class WebApiSensitive : ActionFilterAttribute { public override void OnActionExecuting(System.Web.Http.Controllers.HttpActionContext actionContext) { SensitiveDataUtil.CheckForSQLs(HttpContext.Current.

使用ActionFilterAttribute 记录 WebApi Action 请求和返回结果记录

在asp.net mvc 中 webapi 和 mvc 处理消息是两个不同的管道,Asp.net mvc 和 webapi 为我们提供的 ActionFilterAttribute 拦截器,通过 重写 OnActionExecutingAsync,来 拦截action的请求消息,当执行OnActionExecutingAsync完成以后才真正进入请求的action中,action运行完后又把控制权给了 OnActionExecutedAsync ,这个管道机制可以使我们用它来轻松实现 权限认证.

WebApi接口请求失败,找不到资源。

WebApi开发接口,实现同步数据库的数据给安卓. public class UserInfoController : ApiControllerBase { private UserBLL userbll = new UserBLL(); /// <summary> /// 安卓同步用户信息接口 /// </summary> /// <param name="queryJson"></param> /// <returns>

asp.net core 3.0中webapi post请求返回http 400

在Asp.net core 3.0的webapi项目中,发送json格式的post请求后,返回的header中error提示The JSON value could not be converted to 解决方法: 安装Microsoft.AspNetCore.Mvc.NewtonsoftJson 包 在ConfigureServices中添加services.AddNewtonsoftJson(); 原文地址:https://www.cnblogs.com/xbzhu/p/12104959.

写一个ActionFilter检测WebApi接口请求和响应

我们一般用日志记录每次Action的请求和响应,方便接口出错后排查,不过如果每个Action方法内都写操作日志太麻烦,而且客户端传递了错误JSON或XML,没法对应强类型参数,请求没法进入方法内, 把日志记录操作放在一个ActionFilter即可. [AttributeUsageAttribute(AttributeTargets.Method, Inherited = false, AllowMultiple = false)] public class ApiActionAttribute

Ajax请求 一般处理程序参数传递的几种方式

//第一种Ajax请求 $.ajax({ type:"GET", //请求类型,有get,post等类型,和表单提交是一样的 url:"Result.aspx", //请求处理的页面,就是说由那个页面捕获请求,同样这个路径可以换成ashx,一般处理程序 data: "name=John&location=Boston", //传递参数,实在就是(Result.aspx?name=John&loaciton=Boston) succ

webapi 获取请求参数

//获取请求消息提数据 Stream stream = filterContext.Request.Content.ReadAsStreamAsync().Result; Encoding encoding = Encoding.UTF8; stream.Position = 0; using (var reader = new StreamReader(stream, encoding)) { Log.Info(reader.ReadToEnd()); }

WebApi 参数请求

收藏来源于:http://www.cnblogs.com/babycool/p/3922738.html 对于一般前台页面发起的get和post请求,我们在Web API中要如何来处理. 这里我使用Jquery 来发起异步请求实现数据调用. 继续使用上一文章中的示例,添加一个index.html页面,添加对jquery的引用. 一.无参数Get请求 一般的get请求我们可以使用jquery提供的$.get() 或者$.ajax({type:"get"}) 来实现: 请求的后台Actio