WEBApi路由任务

时间:2015-02-12 12:46:21

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

我将构建以下WEB Api:

  1. api/voyages [params]

    • 根据过滤器参数[params]
    • 返回行程列表
  2. api/voyages/1234

    • 返回特定旅行的数据(例如: 1234
  3. api/voyages/1234/itinerary

    • 返回行程specidico行程的详细信息(例如: 1234
  4. api/voyage/1234,6789/inventory [params]

    • 返回库存的详细信息更多行程( 1234和6789 )最终由[params]过滤
  5. api/voyages/1234,6789/cabin [params]

    • 返回更多行程(1234和6789)的舱室列表,最终由[params]过滤
  6. 您能帮我正确配置文件 WebApiConfig.cs, Global.asax.cs 和控制器吗?

    提前致谢

    的Davide

1 个答案:

答案 0 :(得分:1)

使用AttributeRouting,无需配置太多; - )

对于你的控制器,你只需添加:

    [RoutePrefix("api/voyages")]
    public class VoyagesController : ApiController
    {

        [HttpGet]
        [Route("{id:int}")]
        public HttpAction GetVoyage(id)
        {

        }

        [HttpGet]
        [Route("{id:int}\itinerary")]
        public HttpAction GetVoyage(id)
        {

        }
    }