所以我要建立一個ASP.NET的WebAPI應用程序,每當我試圖調用API我得到這個消息: 的WebAPI沒有HTTP資源發現
<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;
}
}
RouteConfig:
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 }
);
}
}
這仍然會產生同樣的錯誤。在閱讀以前的答案之後,我曾嘗試過'[HttpGet]'。即使當我嘗試沒有'[RoutePrefix(「api/PiDBTest」)]' – MuggySoft
你確定路由正在註冊。請檢查以確保在啓動時調用WebApiConfig.Register。 – Nkosi
我在一個包含'config.Routes.MapHttpRoute(.....'的行中插入了一個斷點,並且在我加載時遇到了這個斷點。 – MuggySoft