[英]WebAPI deployed to IIS, gives 404 Not Found
我正在嘗試在ASP.NET中創建一個簡單的WebAPI。 我把它放在IIS中。 當我嘗試瀏覽該站點時,一切都很好:
但是,當我嘗試從API獲取結果時,出現以下錯誤:
控制器:
public class ProductController : ApiController
{
Product[] products = new Product[]
{
new Product { Id = 1, Name = "Tomato Soup", Category = "Groceries", Price = 1 },
new Product { Id = 2, Name = "Yo-yo", Category = "Toys", Price = 3.75M },
new Product { Id = 3, Name = "Hammer", Category = "Hardware", Price = 16.99M }
};
public IEnumerable<Product> GetAllProducts()
{
return products;
}
public IHttpActionResult GetProduct(int id)
{
var product = products.FirstOrDefault((p) => p.Id == id);
if (product == null)
{
return NotFound();
}
return Ok(product);
}
}
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 }
);
}
您將其托管在/api
訪問的應用程序上,因此需要一個附加的/api
來匹配路由:
http://localhost:6060/api/api/Product
如果您不希望這樣做,則可以給api
網站一個更合理的名稱,或者從路由中刪除api/
,或者兩者都選。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.