C#OWIN Web API路由索引页面

时间:2018-07-20 03:14:46

标签: c# asp.net-web-api owin

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资源。

1 个答案:

答案 0 :(得分:0)

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

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

其中包括从ApiController派生您的控制器。

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

[Route("")]在上述情况下将用作该控制器的默认溃败。