使用ASP.NET 1.1的核心與VS2015(SDK 1.0.0-preview2-003131),我有以下控制器:必需查詢字符串參數在ASP.NET核心
public class QueryParameters
{
public int A { get; set; }
public int B { get; set; }
}
[Route("api/[controller]")]
public class ValuesController : Controller
{
// GET api/values
[HttpGet]
public IEnumerable<string> Get([FromQuery]QueryParameters parameters)
{
return new [] { parameters.A.ToString(), parameters.B.ToString() };
}
}
正如你所看到的,我有兩個查詢參數。我想要的是要求其中一個(例如:A
)。也就是說,我想用一個屬性(如果可能的話)來說這個屬性是必需的。然後,我想在ASP.NET調用我的控制器之前進行驗證。
我本來希望使用Newtonsoft RequiredAttribute來使用與我已用於驗證PUT/POST內容中所需屬性相同的屬性,但由於url不是JSON字符串,因此顯然不使用它。
有沒有建議讓ASP.NET Core自動檢查所需的查詢參數?
請注意,我知道我可以使用可爲空的查詢參數對自己的代碼進行編碼,但這樣做的目的是讓ASP.NET在調用我的控制器之前進行驗證,從而保持我的控制器整潔。
如果您希望該屬性具有不同的名稱,該怎麼辦?在[FromQuery(Name =「$ A」)]之前, –