c# - 如何使用 C# WebAPI 2 拥有两条使用相同方法的路由

标签 c# c#-4.0 routes asp.net-web-api2

我在 Web API 2 项目中使用 C#。我想要一个 Controller ,其功能包含同一方法的两条可能路径。如果未设置大小,我希望它传递 null。到目前为止,我已经尝试过:

public class PController : ApiController
{
    [Route("~/personphoto/{id:Guid}")]
    [Route("~/personphoto/{id:Guid}/sizes/{string:size}")]
    [AllowHeaderFilter(HttpMethodFlag.Get)]
    public IHttpActionResult GetPhoto(Guid id, string size)
    {
        // Do Something
    }
}

这可能吗?

最佳答案

我相信这就是您要找的:

[Route("~/personphoto/{id:Guid}/{sizes?}/{size?}")]
public IHttpActionResult GetPhoto(Guid id, string sizes = "", string size = "")

关于c# - 如何使用 C# WebAPI 2 拥有两条使用相同方法的路由,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32966037/

相关文章:

C# 407 需要代理身份验证

algorithm - 修改 Dijkstra 以在给定额外属性的情况下找到最优化的最短路径

routes - 在 ASP.NET Core 3.1 应用程序上隐藏 url 中的默认操作 (=Index)

linux - ip 路由 src 不工作

c# - EF 生成的 SQL 出现无效列名错误

c# - .NET 域模型,何时急切加载

c# - 引用列表功能困惑

java - 将 Java 服务转换为 .NET 4.0 服务 (WCF)

c# - 如何调用(执行)一个函数,其名称存储在数据库中?

c# - 我如何从字符串创建动态 lambda 表达式?