У меня есть метод действий ASP.NET WebAPI, который выглядит следующим образом:Значения по умолчанию для метода 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 имеет значение null, и я получаю NullReferenceException
в моем методе.
Есть ли способ сказать WebApi всегда использовать экземпляр new TestRequest()
в качестве параметра метода, даже если строка запроса пуста?
Нет автоматического способа сделать это без создания настраиваемого связующего, специфичного для веб-api. См. Также http://stackoverflow.com/a/4066357/1260204, если вы подумывали использовать 'default (TestRequest)' в вашей сигнатуре метода. – Igor