2016-03-20 10 views
0

こんにちは。私はそれをより混乱させたものに関してすべての記事を参照しました。下の写真のように、私はエンティティークラスWebAPIモデルは、Fiddlerを使用して転記するときにFromBodyAttributeを使用してnullです。

public class ProductEntity 
{ 
    public int ProductId { get; set; } 
    public string ProductName { get; set; } 
} 

とコントローラクラスに私は、これらのオプションとシオマネキを使用しています

// POST api/product 
public int Post([FromBody]ProductEntity productEntity) 
{ 
    return _productServices.CreateProduct(productEntity); 
} 

を持って下に

私の問題はある

Fiddler Options

投稿の試行を試みた後フィドラー私はいつもヌル値を取得します。

post from fiddler

私は製品が私がFromBody属性を使用してはならない複雑なタイプですが、関係なく、これを私が代わりにのみnullが渡さなっているオブジェクトを取得することができませんので、ポストを踏襲し、説明どおり。

私はパラメータバインディングでaspnet-web-apiのmsdnリンクをたどってきましたが、混乱しました。私が間違っていることを教えてください。

答えて

1

コードは正しいと思いますが、フィドラーコンポーザーで送信しようとしているものはJSONではありませんので、モデルが解析されていません。従って、ヌル値。

この

は、あなたの添付画像に基づいて送信しようとしているものである

{ 
"ProductId":8 
"ProductName":"MobilePhone" 
} 

あなたはここで"ProductId":8

の後にコンマを,不足している注意事項は、あなたが送信されなければならないものです

{ 
"ProductId":8, 
"ProductName":"MobilePhone" 
} 
+0

spot on !!私はこれのために2〜3時間以上を無駄にした!ありがとうございました:) –

0

私は最後にファイトラーでPOSTを送ることに成功した - 私は置く必要があった

リクエストヘッダで
Content-Type: application/x-www-form-urlencoded 

とJSON文の前に=を追加します。

={"Name":"Turbo Tina","Email":"[email protected]"} 

をIは、WCFとフィドラーについては、この記事に触発されました:POST to WCF from Fiddler succeeds but passes null values

Iの代わりに、 "シンプル" 場合文字列型は、メソッドにJOBJECTを期待:

public dynamic Post([FromBody]JObject value) 

私は

を使用することができます
Content-Type: application/json 

JSON文の前に=を削除します。

+0

私は成功なしでこれを試みました! –

関連する問題