Azure函數有點問題參數 我知道url參數像往常一樣發送到Azure函數「www.asdf.com?myParam =arnold」並被讀取爲像這如何將數組作爲url參數傳遞給Azure函數
req.GetQueryNameValuePairs().FirstOrDefault(q => string.Compare(q.Key, "myParam", true) == 0).Value
我不明白的是如何發送數組作爲參數。
Azure函數有點問題參數 我知道url參數像往常一樣發送到Azure函數「www.asdf.com?myParam =arnold」並被讀取爲像這如何將數組作爲url參數傳遞給Azure函數
req.GetQueryNameValuePairs().FirstOrDefault(q => string.Compare(q.Key, "myParam", true) == 0).Value
我不明白的是如何發送數組作爲參數。
一種方式是添加儘可能多的陣列的JSON如下
{
"comment": {
"body": "blablabla"
}
}
當然是送的參數是這樣的:
www.asdf.com?myParam=arnold&myParam=james&myParam=william
,然後讀取它們作爲
var params = req
.GetQueryNameValuePairs()
.Where(q => string.Compare(q.Key, "myParam", true) == 0)
.Select(q => q.Value);
複雜的數據我建議你把它傳遞一個POST請求的JSON的身體,那麼您可以在一個動態的對象或Jobject,也可以自定義一個類反序列化。這裏是一個來自Azure文檔的例子
#r "Newtonsoft.Json"
using System;
using System.Net;
using System.Threading.Tasks;
using Newtonsoft.Json;
public static async Task<object> Run(HttpRequestMessage req, TraceWriter log)
{
string jsonContent = await req.Content.ReadAsStringAsync();
dynamic data = JsonConvert.DeserializeObject(jsonContent);
log.Info($"WebHook was triggered! Comment: {data.comment.body}");
return req.CreateResponse(HttpStatusCode.OK, new {
body = $"New GitHub comment: {data.comment.body}"
});
}
在這個例子中,請求主體在數據對象中被反序列化。請求主體包含註釋屬性和註釋中有一個身體屬性,如您可以根據需要
希望它可以幫助
這絕對是更大的有效載荷或複雜物體 –