2016-03-31 4 views
0

ボディにjsonオブジェクトを問題なく投稿し、[FromBody]経由でバインドできるようです。ヘッダーを投稿して[FromHeader(Name = ...)]でバインドすることもできます。しかし、私はそれらを一緒に使うことはできません。誰もが知っているか、またはエーテルをバインドする別の方法がありますか?ASP.NET 5 MVC6 Web APIポストヘッダーとボディ

は私のコントローラのアクションメソッドは次のようになります。私はこれを行うと

public JsonResult ProductQuery([FromHeader(Name = "Authorization")]string value, [FromBody] Product product) 

私は価値のヘッダを取得するが、私は体を得ることはありません、私は

感謝の製品ではnullを取得しますあなたの助け!

+1

一つの方法は、次のようになります。http://stackoverflow.com/a/21405101/1129995 – Zaki

+0

多分これは助けることができるhttp://stackoverflow.com/a/31460183/3645004 – shashank

+1

参考までに感謝します。私が示すようにヘッダーとボディを持ち込むことに問題はありません。問題は、ヘッダー情報を送信するときにAngular 2が間違ったコンテンツタイプを送信することです。 –

答えて

1

以下のリンクは私に最高のヒントを与えましたが、彼のソリューションはjQueryでした。

私が示すようにヘッダーとボディを持ち込むことに問題はありません。問題は、ヘッダー情報を送信するときにAngular 2が間違ったコンテンツタイプを送信することです。私はクライアント側で2番目の角度でこれをしなければなりませんでした。 'Content-Typeの' 行に注意してください。

var headers = new Headers(); 
    headers.append('Authorization', 'Bearer ' + localStorage.getItem('id_token')); 
    headers.append('Content-Type', 'application/json'); 
    return this._http.post('/api/orderProdListQuery', JSON.stringify(query), { headers: headers }) 

how-to-pass-json-post-data-to-web-api-method-as-object

関連する問題