2017-06-04 33 views
0

Azure関数のパラメータに少し問題がある urlパラメータがAzure関数 "www.asdf.com?myParam=arnold"に送信され、このAzure関数にURLパラメータとして配列を渡す方法

req.GetQueryNameValuePairs().FirstOrDefault(q => string.Compare(q.Key, "myParam", true) == 0).Value 

どのように私はパラメータとして配列を送信する方法です。

答えて

2

一つの方法は、希望ホープ必要な数の配列を追加することができますJSONでもちろん

{ 
    "comment": { 
     "body": "blablabla" 
    } 
} 

を次のようにコメントが身体のプロパティが含まれています

www.asdf.com?myParam=arnold&myParam=james&myParam=william 

、その後

0123としてそれらを読む:このようなパラメータを送信すること
1

複雑なデータの場合は、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}" 
    }); 
} 

の一例です。リクエストボディは、コメントプロパティが含まれていると、あなたが

はそれが

+1

これは間違いなく、大きなペイロードや複雑なオブジェクト –

関連する問題