0

私は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
4

1 に答える 1

1

生のリクエストは次のようになります。

POST http://localhost:54897/Sample.svc/Todos HTTP 1.1
Content-Type: application/json
Host: localhost

{"instance":{"Name":"This is my first todo"}
于 2012-07-05T11:12:20.937 に答える