J'essaye de créer un WebAPI simple dans ASP.NET. Je l'ai mis dans IIS. Lorsque je tente de naviguer sur le site, il est tout bon:WebAPI déployé sur IIS, donne 404 non trouvé
Mais lorsque je tente d'obtenir un résultat de l'API, je reçois cette erreur:
Controller:
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 }
);
}
Je reçois toujours la même erreur – Pachu
C'est parce que votre contrôleur s'appelle 'ProductController', au singulier, donc vous avez besoin de produit, pas de produits. – CodeCaster
Je l'ai essayé mais quand même, j'obtiens le même résultat – Pachu