2016-10-18 1 views
0

を囲む必要です。例:私はいない引用符で、私の方法は、「データ」PARMのために空の値を受信した場合POSTさJSON本体は、私はこのように宣言コントローラメソッドを持っている引用符

'{"name":"Elroy", "age":99}' 

を提供しなければならない代わりに

{"name":"Elroy", "age":99} 

マイARCクライアントは=「アプリケーション/ JSON」、右ではありません、それはある

コンテンツ・タイプを指定していますか?外側の引用符は必要ではありません。

答えて

0

JSONがオブジェクトグラフではなくワイヤを介して文字列として送信されるため、これは間違いありません。したがって、文字列であることを示すために引用符が必要です。

+0

私は、引用要件を避けるために、メソッド宣言からparmを取り除いて、要求ストリームを読み取って本文にアクセスできると考えています。 –

+0

明らかに、jsonのコンテンツを引用せずに投稿することは可能です。引用符で囲まれていなくても、リクエストストリームに入ります。問題は、.net mvcが引用符で囲まれていない限り、[FromBody]としてマークされたstring型のパラメータにマップしないことです。私たちのソリューションは、[FromBody]の代わりに使用する、ParameterBindingAttributeから継承した新しい属性[JsonStringFromBody]を作成することでした。新しい属性は、リクエストオブジェクトからストリームを読み取り、ボディを文字列として返し、メソッドマッピングを可能にします。それは[FromBody]がこれをしない間違いのようです。 –

+0

@ElroyFlynnこれは本当です。あなたがRequestオブジェクトを介して取得した場合は、それを他の目的で解読できるという条件でPOSTできます。アトリビュートベースのソリューションが元の質問に答える場合は、この質問に遭遇したときに他の人が見ることができるように、回答を作成して受け入れる必要があります。 –

関連する問題