如何解决如何从邮递员查询参数发送值列表C#
在这里,我需要传递多个存储地址,并在c#中将这些值读取为json。我尝试过以下代码
var request = HttpContext.Current.Request;
string[] StorageAddress = request.Params["StorageAddress"];
但是我没有得到回应,因为我需要如何通过邮递员url参数传递多个值并以代码形式读取它。
更新
解决方法
文章/参考文献:Arrays in query params
检索选项1
var request = HttpContext.Current.Request;
string[] StorageAddress = request.Params["StorageAddress"].Split(',');
检索选项2
public IHttpActionResult Get([FromUri] string[] StorageAddress )
{
....
}
您可以使用检索选项3
public IHttpActionResult Get(string[] StorageAddress )
{
....
}
通过Newtonsoft检索选项4
var json = await Request.Content.ReadAsStringAsync();
var storageAddress = JsonConvert.DeserializeObject<string[]>(json);
检索选项5,以混合json数据和文件。对于邮递员传递,请参考此How to upload a file and JSON data in Postman?。
public async Task<IHttpActionResult> Post()
{
var atorageAddress = HttpContext.Current.Request.Form["StorageAddress"].Split(',');
var files = HttpContext.Current.Request.Files;
List<HttpPostedFile> fileList = new List<HttpPostedFile>();
foreach (var key in files.AllKeys)
{
// Do your logic here for manipulation of the files
fileList.Add(files[key]);
}
return Json("OK");
}
更新:检索JSON
-
像这样设置您的JSON。
[{"Address":"Test Store 1"},{"Address":"Test Store 2"}]
-
像这样检索它。
var storageAddress = JsonConvert.DeserializeObject<List<Dictionary<string,string>>>(HttpContext.Current.Request.Form["StorageAddress"]);
您可以在控制器中添加用于处理csv参数的参数,例如 StorageAddresses(例如http:// localhost:30601 / api / licence / seeds / application / finalsubmit?StorageAddresses = test%20score%201,test%20score%202)
您可以按照本教程的说明在您的网站https://www.strathweb.com/2017/07/customizing-query-string-parameter-binding-in-asp-net-core-mvc/中实现
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。