C# owin web api 路由索引页

C# owin web api route index page

http://localhost:2000/api/{Controller}

我需要创建索引页。

URI : http://localhost:2000/api

config.MapHttpAttributeRoutes();
config.Routes.MapHttpRoute(
name: "api",
routeTemplate: "api"
);

还有 api

[RoutePrefix("api")]
public class Api
{
    [HttpGet]
    public HttpResponseMessage Get()
    {
        var result = new HttpResponseMessage(HttpStatusCode.OK);
        result.Content = new ByteArrayContent(Encoding.ASCII.GetBytes("API"));
        return result;
    }
}

但是当我打开 http://localhost:2000/api 时,它不起作用。

找不到与请求 URI http://localhost:2000/api 匹配的 HTTP 资源。

需要确保您遵循 API 控制器的建议语法。

[RoutePrefix("api")]
public class MyApiController: ApiController {
    [HttpGet]
    [Route("")] // GET api
    public IHttpActionResult Get() {
        return Ok("API");
    }
}

其中包括让您的控制器派生自 ApiController

如果使用带路由前缀的属性路由,您仍然需要在操作上提供路由。

[Route("")] 在上面的这种情况下将作为该控制器的默认路由。