17

Web サービスを呼び出すことはできますが、name プロパティは拘束力がありません。

フィドラーのリクエスト

POST http://localhost:50399/api/custservice/ HTTP/1.1
User-Agent: Fiddler
Host: localhost: 50399
Content-Length: 28
{ "request": { "name":"test"}}

POST ウェブメソッド

public string Any(CustomerRequest request)
{
  //return details
}

CustomerRequest.cs

public class CustomerRequest 
{
  public string name {get;set;}
}
4

1 に答える 1

42

まず、Content-Type 'application/json' をリクエストに追加する必要があります。

POST http://localhost:50399/api/custservice/ HTTP/1.1
User-Agent: Fiddler
Host: localhost: 50399
Content-Type: application/json

次に、POST データを次のように変更します。

{"name":"test"}

以下を使用してデータにアクセスできます。

public string Any(CustomerRequest request)
{
  return request.name
}

または、既存の POST データ構造を使用して、新しいクラスを作成します。

public class RequestWrapper
{
  public CustomerRequest request { get; set; }
}

Action メソッドを次のように変更します。

public string Any(RequestWrapper wrapper)
{
  return wrapper.request.name;
}
于 2013-03-14T16:29:20.437 に答える