我正在学习webapi。我正在运行我的webapi项目并点击网址 localhost:54099 / api / values
但是Get没有被执行。我无法看到数据。我在哪里做错了?当我点击网址时,弹出窗口显示但是我无法保存或打开它。 当我在Chrome中点击相同的网址时,我收到了错误
尝试创建类型为' ValuesController'的控制器时发生错误。确保控制器具有无参数的公共构造函数。
ValuesController中的WebAPI方法
public IEnumerable<Book> Get()
{
var Books = iLibrary.GetBooks();
return Books.ToList();
}
WebApiConfig
public static void Register(HttpConfiguration config)
{
// Web API configuration and services
// Web API routes
config.MapHttpAttributeRoutes();
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
}
答案 0 :(得分:1)
您的端点正确执行,似乎返回数据。您所看到的是Internet Explorer的默认行为,用于显示您返回的数据(我假设为JSON或XML),即将其作为文件下载。
使用Chrome / Firefox。根据您是否返回JSON或XML,您可能还希望使用在浏览器s.t中格式化响应的插件。它更具可读性。例如
答案 1 :(得分:0)
我找到了解决方案。我使用了错误的dll来解决依赖注入。我使用的是Unity.MVC4,但由于它是一个webapi项目,我必须使用Unity.WebAPI。