如何在fiddler中撰写REST Web方法的请求

Sun*_*nny 16 rest web-services fiddler servicestack

我可以调用web服务但名称属性不绑定.

提琴手请求

POST http://localhost:50399/api/custservice/ HTTP/1.1
User-Agent: Fiddler
Host: localhost: 50399
Content-Length: 28
{ "request": { "name":"test"}}
Run Code Online (Sandbox Code Playgroud)

POST Webmethod

public string Any(CustomerRequest request)
{
  //return details
}
Run Code Online (Sandbox Code Playgroud)

CustomerRequest.cs

public class CustomerRequest 
{
  public string name {get;set;}
}
Run Code Online (Sandbox Code Playgroud)

Jon*_*iak 41

首先,您需要在请求中添加Content-Type'application/json':

POST http://localhost:50399/api/custservice/ HTTP/1.1
User-Agent: Fiddler
Host: localhost: 50399
Content-Type: application/json
Run Code Online (Sandbox Code Playgroud)

然后将您的POST数据更改为:

{"name":"test"}
Run Code Online (Sandbox Code Playgroud)

您将能够使用以下方式访问数据:

public string Any(CustomerRequest request)
{
  return request.name
}
Run Code Online (Sandbox Code Playgroud)

或者,使用现有的POST数据结构创建一个新类:

public class RequestWrapper
{
  public CustomerRequest request { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

并将您的Action方法更改为:

public string Any(RequestWrapper wrapper)
{
  return wrapper.request.name;
}
Run Code Online (Sandbox Code Playgroud)