【发布时间】:2016-12-03 16:56:10
【问题描述】:
所以我设置了一个 ASP.NET WebAPI 应用程序,每当我尝试调用 API 时,我都会收到以下消息:
<Error>
<Message>
No HTTP resource was found that matches the request URI
'http://localhost:62834/api/PiDBTest'.
</Message>
<MessageDetail>
No type was found that matches the controller named 'PiDBTest'.
</MessageDetail>
</Error>
我尝试了几个不同的 url 来调用 API,但仍然无法使用它。 我一直在使用下面的 url 来调用 API
http://localhost:62834/api/PiDBTest
似乎不明白为什么我没有从通话中获得任何成功?
下面是 API 控制器和 RouteConfig 的代码
PiDBTest:
public class PiDBTest : ApiController
{
private pidbEntities db = new pidbEntities();
// GET: api/PiDBTest
public IQueryable<PiData> GetPiDatas()
{
return db.PiDatas;
}
}
路由配置:
public static class WebApiConfig
{
public static void Register(HttpConfiguration config)
{
config.SuppressDefaultHostAuthentication();
config.Filters.Add(new HostAuthenticationFilter(OAuthDefaults.AuthenticationType));
config.MapHttpAttributeRoutes();
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
}
}
【问题讨论】:
标签: c# asp.net asp.net-mvc asp.net-web-api asp.net-web-api-routing