Web API控制器参数仅在GET请求时为空

时间:2016-02-01 00:31:29

标签: rest http asp.net-web-api get

所以我有一个非常简单的控制器接受Search对象

public class ProfileController : ApiController
{
    [AcceptVerbs("GET", "POST")]
    public async Task<ProfileDTO> GetProfile(Search profile)
    {
         //My code
    }
}

Search对象只包含非常简单的原始数据类型

public class Search
{
    public string Uuid { get; set; }
    public string Email { get; set; }
    public string Name { get; set; }
    public bool Censored { get; set; }
}

出于测试目的,我使用Swagger通过示例数据调用我的API。出于某种原因,如果我使用相同的数据对api/profile进行相同的调用,则profile参数将仅包含POST调用期间的数据。在GET上,它始终为空。

我只添加了AcceptVerbs("POST")来演示此问题,但是通过RESTful设计我希望端点只接受GET动词

截至目前,我只是发送一些样板样本数据,例如

{
  "Uuid": "string",
  "Email": "string",
  "Name": "string",
  "Censored": true
}

我知道这可能是一个非常简单的问题,但为什么参数在GET请求中始终为空?

0 个答案:

没有答案