public async someReturnType PostSomething(long id, long someOptionalLong = 0);
以上代码有效并且是标准用例。但是如果我希望我的可选参数是SomeClass类型呢?
public async someReturnType PostSomething(long id, SomeClass someOptionalParam = null);
上面给出了一个错误并说它是不允许的。如何传递可选的类实例参数?
答案 0 :(得分:0)
SomeClass classInstanceOptionalParam = default(SomeClass);
Web API对此没有问题,虽然我认为对于引用类型总是为null?那好吧。不要认为这是一个很好的答案,但至少它不会抛出错误。
答案 1 :(得分:0)
Web Api默认支持将null值作为参数,但要强制Web API从URI读取复杂类型,请将[FromUri]
属性添加到参数中。所以你的api方法是:
public async someReturnType PostSomething(long id,[FromUri]SomeClass someOptionalParam)