我可以将Web API路由设置为要求包含参数X或参数Y吗?

时间:2012-12-18 17:11:55

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

对于我的控制器中的GET函数,我想要传入一个名称。对于PUT函数,我想要传入id(与消息体中的对象一起)。例如:

GetObject(string name)
PutObject(int id, Object obj)

我可以创建一个需要name或id参数的路由吗?在伪代码中:

routeTemplate: api/{controller}/{name}|{id}

或者最好的方法是什么?

1 个答案:

答案 0 :(得分:2)

如果您正在使用REST动词,我可能会建议您查看AttributeRouting包来解决您的问题。它允许一些非常先进的路由,包括你正在寻找的条件。