webapi应用了属性路由时,如果不传参,对象参数不能实例化。
2016-04-01 来自:溪岸之远 1 人回应
[RoutePrefix("api/members/current/withdraws")]
public class WithdrawsController

 

[Route("")]
public IHttpActionResult Get([FromUri]Pager pager, int? timeInterval = null, int? status = null)

1、如果 uri 是 api/withdraws,无论是否传参 pager 都可以实例化

2、如果 uri 是 api/members/current/withdraws

    a、不传参,pager 为 null

    b、传参,且不限定哪个参数,如 ?timeInterval=1, pager 会实例化

    c、不传参但 Route 为 Route("{timeInterval=-1}") 设置默认值,也会实例化,这一步可以理解为b

这是为什么?

2016-04-01 来自:夏夕空

可以考虑给pager设置个默认值, [FromUri]Pager pager = new Pager() 

您的回应

你还未登陆,不能回应!登陆