私はbackbone.jsを使用しており、モデル(todo)をwcf Restサービスに投稿しています。詳細については、以下を参照してください。何らかの理由で、投稿されたjsonに関係なく、実装は常にnull値を受け取ります。
契約
[WebInvoke(ResponseFormat = WebMessageFormat.Json, Method = "POST", UriTemplate = "Todos", RequestFormat = WebMessageFormat.Json, BodyStyle = WebMessageBodyStyle.WrappedRequest)]
[OperationContract]
Wallet CreateTodos(Todo instance);
実装
public Wallet CreateTodos(Todo instance)
{
if (instance == null)
{
WebOperationContext.Current.OutgoingResponse.StatusCode = HttpStatusCode.NotAcceptable;
return null;
}
... blah blah blah
データ契約
[DataContract]
Public Class Todo
{
[DataMember]
public string Name{get;set;}
}
ポストJson
{"名前":"ようこそゲスト"}
Httpの詳細
Accept:application/json, text/javascript, */*; q=0.01
Accept-Charset:ISO-8859-1,utf-8;q=0.7,*;q=0.3
Accept-Encoding:gzip,deflate,sdch
Accept-Language:en-US,en;q=0.8
Cache-Control:no-cache
Connection:keep-alive
Content-Length:281
Content-Type:application/json
Host:localhost
Origin:http://localhost
Pragma:no-cache
Referer:http://localhost/todos/index.html
X-Requested-With:XMLHttpRequest