Windows Phone と mvc4 Web-API は初めてです。windows-phone から詳細を送信しようとしていますが、それらの詳細を mvc4 Web-API でクエリ文字列として取得したいと考えています。データのリストを取得しましたが、Web-API で送信および受信する方法がわかりません。提案またはサンプル リンクが必要です。
質問する
616 次
1 に答える
0
このContactManagerWebAPIサンプルを調べることから始めることができます。
windows-phoneから詳細を送信しようとしていますが、これらの詳細をmvc4web-APIでクエリ文字列として取得したいと考えています。
解決策#1:
クエリ文字列から文字列のリストを渡すことにより、アクションパラメータを[FromUri]としてマークする必要があります...
public class ValuesController : ApiController
{
// POST api/values
public void Post([FromUri] List<string> arrOfString)
{
}
}
...そしてクエリ文字列はarrOfString[]= item1&arrayOfString [] = item2&...&arrayOfString []=itemNの形式である必要があります。WindowsPhoneの例を次に示します。
WebClient client = new WebClient();
client.UploadStringCompleted += new UploadStringCompletedEventHandler(...);
client.UploadStringAsync(new Uri("http://localhost/api/values?arrOfString[]=a&arrayOfString[]=b&arrayOfString[]=c"), string.Empty);
解決策#2:
または、クエリ文字列でデータを渡すための厳しい要件を設定する必要はありません。リクエストの本文で文字列のリストを渡す方が簡単です。
Web APIサーバー:
public class ValuesController : ApiController
{
// POST api/values
public void Post(List<string> arrOfString)
{
}
}
Windows Phoneクライアント:
WebClient client = new WebClient();
client.Headers["Content-Type"] = "application/json";
var data = JsonConvert.SerializeObject(new List<string>() { "a", "b", "c" });
client.UploadStringCompleted += new UploadStringCompletedEventHandler(...);
client.UploadStringAsync(new Uri("http://localhost/api/values"), "POST", data);
于 2012-10-05T05:05:12.157 に答える