2016-09-01 56 views
0

リクエストボディからデータを受け取るPOSTメソッドを持つWeb APIコントローラがあり、それは別のWebサービスにデータを送信するため、データをデシリアライズします必要ない。 Web APIによる自動逆シリアル化を無効にするにはどうすればよいですか?ASP .NET Web API - POSTメソッドでプレーンjsonを取得する

public IHttpActionResult Post([FromBody]string data) 
{ 
//Post with http client... 

} 

データはこの署名でヌルとして到着します。

+3

をあなたのコードを表示してください。 – ekad

+0

リクエストヘッダを設定します。Content-Type text/plain –

答えて

2

チェック:ソリューションに関する

public async Task<HttpResponseMessage> Post(HttpRequestMessage request) 
{ 
    var data = await request.Content.ReadAsStringAsync(); 
    // do stuff with the content 
} 

より: http://bizcoder.com/posting-raw-json-to-web-api

+0

私はJTokenでこのソリューションを使用しました。 – user6251216

0

オブジェクトを文字列として(シリアル化された形式で)送信します。たとえば、この

YourMethod([FromBody]string json) 
+0

nullになると到着します。 – user6251216

+0

それからあなたは正しく送信していません。適切なヘッダーを使用していることを確認してください。 (例:Content-Type:application/json)。 –

+0

からfrombodyを削除する –

0

ただ、このようなreuestコンテンツ読み:

public Task<IHttpActionResult> Post() { 
    var str = await Request.Content.ReadAsStringAsync(); 
} 
関連する問題