Тест web api 2 MVC 5 в postman
всем привет
Я новичок в веб asp.net АПИ 2
Я создал api для своих контроллеров/api и заполнил его следующим (1*)
Я хочу протестировать api с postman на chrome
но это дает мне ошибку 404
это мой webapconfig (2*)
и это url-адрес, который я использовал для postman : localhost:2383 / api/products
а это ошибка на почтальоне(3*)
помоги мне, если сможешь
спасибо.
Что я уже пробовал:
1*
using System; using System.Collections.Generic; using System.Linq; using System.Net; using System.Net.Http; using System.Web.Http; using System.Web.Mvc; using My_World.Models; namespace My_World.Controllers.Api { public class ProductsController : 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); } } }
2*
<using System; using System.Collections.Generic; using System.Linq; using System.Web.Http; namespace My_World { public static class WebApiConfig { public static void Register(HttpConfiguration config) { config.MapHttpAttributeRoutes(); config.Routes.MapHttpRoute( name: "DefaultApi", routeTemplate: "api/{controller}/{id}", defaults: new { id = RouteParameter.Optional } ); } } }
3*
[HttpException]: Контроллер для пути '/ api/products' не найден или не реализует IController.
в System.Web.Mvc.DefaultControllerFactory.GetControllerInstance(RequestContext requestContext, тип controllerType)
в System.Web.Mvc.DefaultControllerFactory.CreateController(RequestContext requestContext, String controllerName)
в System.Web.Mvc.MvcHandler.ProcessRequestInit (HttpContextBase httpContext, IController & amp; controller, IControllerFactory& factory)
в System.Web.Mvc.MvcHandler.BeginProcessRequest(HttpContextBase httpContext, asynccallback callback, состояние объекта)
в System.Web.Mvc.MvcHandler.BeginProcessRequest(свойство HttpContext объект HttpContext, объект asynccallback обратного вызова, состояние объекта)
в System.Web.Mvc.MvcHandler.Системы.Веб.IHttpAsyncHandler.BeginProcessRequest(свойство HttpContext контекст, объект asynccallback КБ, объекта дополнительные данные [extradata])
в System.Web.HttpApplication.CallHandlerExecutionStep.Системы.Веб.Класса HttpApplication.IExecutionStep.Выполнять()
в System.Web.HttpApplication.ExecuteStep (iexecutionstep step, Boolean& completedSynchronously)
Richard Deeming
Вы не забыли обновить свой Application_Start
в Global.asax.cs
вызвать регистрационный код API?GlobalConfiguration.Configure(WebApiConfig.Register);