Web Api在uri中间使用get参数

时间:2015-03-09 03:56:35

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

你好一点新手 - 使用VS 2013 ASP.net WebApi - 有关于uri的规范:

/device/{deviceId}/register

尝试过以下几件事:

public class DeviceController : ApiController
{
        [Route("/{deviceId}/register")]
        [HttpGet]
        public async Task<IHttpActionResult> Register(string deviceId)
        {
        }
}

并尝试更新RouteConfig.RegisterRoutes

routes.MapRoute(
name: "Device",
url: "device/{deviceid}/",
defaults: new { deviceId = "", action = "Register"}
);

1 个答案:

答案 0 :(得分:0)

您应该将Route属性调用更改为:

[Route("device/{deviceId}/register")]

并删除您在RouteConfig.RegisterRoutes中完成的所有更改 - 不需要它们。

然后它会正常工作。属性路由与HttpConfiguration对象中定义的路由无关。