我有ASP.NET的WebAPI操作方法,看起來像這樣:默認值參數
[HttpGet]
public HttpResponseMessage Test([FromUri] TestRequest request)
{
request.Process();
return new HttpResponseMessage(HttpStatusCode.OK);
}
public class TestRequest
{
public string TestParam1 { get; set; }
public string TestParam2 { get; set; }
public void Process()
{
// do work
}
}
如果指定的URL請求已參數此工程確定,例如http://localhost/test?TestParam1=1
。但是,當查詢字符串爲空時,request
param爲空,我在我的方法中得到了NullReferenceException
。
有沒有辦法告訴WebApi總是使用new TestRequest()
的實例作爲方法參數,即使查詢字符串爲空?
沒有自動的方式來做到這一點,而無需創建特定於web api的自定義綁定。如果您想在方法簽名中使用'default(TestRequest)',請參閱http://stackoverflow.com/a/4066357/1260204。 – Igor