【问题标题】:Can I set my WebAPI route to require that either parameter X or parameter Y is included?我可以将我的 WebAPI 路由设置为要求包含参数 X 或参数 Y 吗?
【发布时间】:2012-12-19 02:31:22
【问题描述】:

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

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

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

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

或者什么是最好的路由方式?

【问题讨论】:

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


    【解决方案1】:

    如果您以 RESTfully 方式使用 HTTP 动词,我可能会建议您查看 AttributeRouting 包来解决您的问题。它允许一些非常高级的路由,包括您正在寻找的条件。

    【讨论】:

    • 完美!这个包让我对函数进行如下修饰:[GET("api/Object/{name}")] 用于 Get 函数,[PUT("api/Object/{id}")] 用于 Put 函数。谢谢!
    猜你喜欢
    • 1970-01-01
    • 2012-10-26
    • 1970-01-01
    • 2022-12-01
    • 1970-01-01
    • 2010-12-25
    • 2021-02-02
    • 2023-03-29
    • 2019-06-30
    相关资源
    最近更新 更多