自主机WebApi路由问题

本文关键字:问题 路由 WebApi 主机 | 更新日期: 2023-09-27 18:23:51

我正在托管一个自托管的WebApi,但我在路由方面很吃力。我认为我配置得很好,但我仍然得到404作为结果:

这是我的配置:

 config.MapHttpAttributeRoutes();
 config.Routes.MapHttpRoute(
 name: "DefaultApi",
 routeTemplate: "api/{controller}/{id}",
 defaults: new { id = RouteParameter.Optional, 
                 controller = "Values", action = "Index", });

服务器初始化:

 string baseAddress = "http://localhost:1243";
    var configuration = new HttpSelfHostConfiguration(baseAddress);
    WebApiConfig.Register(configuration);
    _server = new HttpSelfHostServer(configuration);
    _server.OpenAsync().Wait();

那是我的控制器:

 public class ValuesController : ApiController
    {
        public IEnumerable<string> Get()
        {
            return new string[] { "value1", "value2" };
        }
    }

在我的浏览器中,我正在尝试导航:

http://localhost:1243/api

自主机WebApi路由问题

默认情况下出现错误:

默认值:new{id=RouteParameter。可选,controller="Values",action="Index"});

我的控制器中没有任何调用Index的操作。就这样。。这花了一段时间,但我的同事最终发现了它。