首页 > 解决方案 > 忽略 API,调用主视图

问题描述

正在指导一位同事使用 Web API。只是试图在 Visual Studio 框中运行默认的 Web API 模板,因为它是......甚至没有做任何花哨的事情。对我的 API (api/{controller}/{id}) 的默认 (Get) 调用不断返回 MVC 主视图,而不是我的 API 控制器中 Get 方法的内容。

namespace WebAPI.Controllers
{
    public class ValuesController : ApiController
    {
        // GET api/values
        public IEnumerable<string> Get()
        {
            return new string[] { "value1", "value2" };
        }
...

namespace WebAPI
{
    public static class 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 }
            );
        }
    }
}

namespace WebAPI
{
    public class WebApiApplication : System.Web.HttpApplication
    {
        protected void Application_Start()
        {
            AreaRegistration.RegisterAllAreas();
            GlobalConfiguration.Configure(WebApiConfig.Register);
            FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
            RouteConfig.RegisterRoutes(RouteTable.Routes);
            BundleConfig.RegisterBundles(BundleTable.Bundles);
        }
    }
}

我在“网络”上四处张望,但找不到任何可以解决我的具体问题的东西。

我期望默认值 1、值 2 等。相反,MVC 主视图不断返回。

标签: c#asp.net-web-apiasp.net-web-api-routing

解决方案


推荐阅读