我的 WebApiConfig.cs
public static class WebApiConfig
{
public static void Register(HttpConfiguration config)
{
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
config.EnableQuerySupport();
}
}
我的控制器文件是:
namespace myApp.Data
{
public class AccountController : ApiController
{
public List<User> XGetUsers()
{
List<User> Users;
using (Entities db = new Entities())
{
var users = from u in db.Users select u;
Users = users.ToList();
}
return Users;
}
// GET api/<controller>/5
public string Get(int id)
{
return "value";
}
}
}
但是每当我尝试调用 localhost:51255/api/Account/XGetUsers 时,我都会收到 400 错误:
{"Message":"请求无效。","MessageDetail":"参数字典包含方法 'System.String Get(Int32) 的不可空类型 'System.Int32' 的参数 'id' 的空条目'在 myApp.Data.AccountController' 中。可选参数必须是引用类型、可空类型或声明为可选参数。"}
似乎所有调用都转到方法 Get(int id)。怎么了?