我怎么能有两个路由使用相同的方法使用c# WebAPI 2

本文关键字:方法 WebAPI 路由 怎么能 两个 | 更新日期: 2023-09-27 18:16:24

我正在使用c#与Web API 2项目。我想要一个控制器,有一个功能,其中包含两个可能的路由为同一方法。如果size没有设置,我希望它传递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
    }
}

这可能吗?

我怎么能有两个路由使用相同的方法使用c# WebAPI 2

我相信这就是你要找的:

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