【发布时间】:2013-11-14 04:52:18
【问题描述】:
我的 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":"参数 字典包含不可为空的参数“id”的空条目 为方法“System.String Get(Int32)”键入“System.Int32” myApp.Data.AccountController'。可选参数必须是 引用类型,可空类型,或被声明为可选 参数。”}
似乎所有调用都转到方法 Get(int id)。怎么了?
【问题讨论】:
标签: c# .net asp.net-mvc asp.net-mvc-4