具有多个可选路由参数的ASP.Net WebAPI

时间:2018-09-28 19:09:22

标签: asp.net-web-api asp.net-mvc-5 routing

我有一个要与多个可选参数一起使用的路由,如下所示:

[RoutePrefix("api/crm/topline")]
public class MyController: ApiController
        [Route("{branchNumber?}/{salesNumber?}/{accountNumber?}")]
        public async Task<IHttpActionResult> Get([FromUri] string branchNumber = null, [FromUri] string salesNumber = null, [FromUri] string accountNumber = null) {
            log.Debug($"Get:{branchNumber}/{salesNumber}/{accountNumber}");
            return Ok($"Get:{branchNumber}/{salesNumber}/{accountNumber}");
        }

我知道可以这样绑定到API:

/api/crm/topline/?branchNumber=11&accountNumber=9795

使用这种格式,我得到一个响应

  

“获取:11 // 9795”

是否可以使用这样的http调用正确绑定到此??

/api/crm/topline/11//9795

我无法使用该格式,最终得到的响应是:

  

“获取:11/9795 /”

表明第二种格式认为最后一个参数是缺少的参数,而不是中间的参数。

0 个答案:

没有答案