当我使用以下代码时:
public HttpResponseMessage Get()
{
return Request.CreateResponse(HttpStatusCode.OK, "Empty!");
}
public HttpResponseMessage Get(int id)
{
return Request.CreateResponse(HttpStatusCode.OK, id);
}
请求完全按照他们应该的方式工作。 GET: api/controller
以“Empty!”GET: api/controller/12
为主体返回,以“12”为主体返回 200。
但是,一旦我将代码更改为:
public HttpResponseMessage Get()
{
return Request.CreateResponse(HttpStatusCode.OK, "Empty!");
}
public HttpResponseMessage Get(int itemId) //changed parameter name
{
return Request.CreateResponse(HttpStatusCode.OK, itemId);
}
一切都达到默认方法并返回“空!”
我认为这是许多命名约定问题之一,但我找不到任何说明参数必须命名为特定值的文档或其他帖子。
这似乎是一个语义问题,但我想知道为什么我必须将我的参数命名为特定的东西,或者我做错了什么。为什么这不能简单地工作?