私はVS 2015、.NET 4.5.2、およびWeb API 2でC#を使用します。
私は安らかなWebサービスを構築したいと思います。C#webservice複数のパラメータをPOSTアクションに送信する方法
Webサービス(AJAXまたはJqueryではなく)をテストするには、CURLまたはFiddlerを使用する必要があります。
可能であれば、私はCURLを好むでしょう。
CURLを使用してGETリクエストをWebサービスに送信することに成功しました。
でも、POSTを使用してWebサービスにデータを送信する必要があります
残念ながら私はPOSTを使用する際に問題があります。
1つのパラメータだけでなく、複数のパラメータを送信する必要があります。
(基本的にデータベースに追加するレコード全体を送信する必要があります)
POSTアクションに複数のパラメータを送信することはできないようですか?
複数のパラメータを送信する代わりに、配列またはリストオブジェクトを使用してレコードデータを送信できるはずですか?
WebサービスコントローラでPOSTアクションをコーディングする方法はありますか?
CURL(またはフィドラー)を使用してデータを送信して、POSTアクションで処理できるようにする方法はありますか?
私は、URIをPOSTデータに使用したいくつかの例を見ましたが、URIを使用するにはコンテンツ長を設定する必要がありますか?
可能であれば、content-lengthを設定しないでください。
モデル:
クライアント(CURL /シオマネキ)でなければなりません:クライアントは
public class Product
{
public int Id { get; set; }
public string Name { get; set; }
public string Category { get; set; }
public decimal Price { get; set; }
}
:
モデルはPOSTを使用して送信すべきデータを表し、モデルデータを送信することができます。例:
ID = 5
名= "テスト"
カテゴリー= "ハードウェア"
価格は10
にはどうすればCURL(またはシオマネキ)を使用してこのデータを送信することができますか=?
コントローラのアクション:
どのように私は、このアクションをコーディングする必要がありますか?
これは問題ありませんか?:
[HttpPost]
public void AddProduct([FromBody] List<Product> data)
{
Do something
}
weberviceのURLだけ完全性について
:
私のWebサービスのURLは、ラッパークラス.Makeの事のような種類を追加するために、この
http://myServer/api/product
ありがとうございます。 しかし、クライアント(CURLなど)はラッパーに適合するデータをどのように送信できますか? – Spacewalker
私はあなたが { データ:{ データ:[{}] } }としてRAWモードで、ヘッダアプリケーション/ JSONでそれを送ることができるPOST MANを介しを伝えることができ –
やカールが問題であるなら - 多分ことができます私には、.NETクラスがWebサービスにPOSTデータを送信するために使用するアイディアを教えてくれます。 – Spacewalker