36
我有以下的Web API(GET):如何開發ASP.NET Web API以接受複雜對象作爲參數?
public class UsersController : ApiController
{
public IEnumerable<Users> Get(string firstName, string LastName, DateTime birthDate)
{
// Code
}
}
這是一個GET,這樣我就可以這樣調用:
http://localhost/api/users?firstName=john&LastName=smith&birthDate=1979/01/01
和接收的用戶(一個或多個)XML結果。
是否有可能封裝參數,一類是這樣的:
public class MyApiParameters
{
public string FirstName {get; set;}
public string LastName {get; set;}
public DateTime BirthDate {get; set;}
}
然後有:
public IEnumerable<Users> Get(MyApiParameters parameters)
我已經嘗試過了,只要我嘗試從http://localhost/api/users?firstName=john&LastName=smith&birthDate=1979/01/01
導致,parameter
爲空。
尼斯漁獲物。我知道我錯過了一些東西! :) – Tohid
這似乎咬我每次我回到Web API開發。我希望Swashbuckle會做一些事情來確保它和Web API與他們對這些數據是否作爲查詢字符串數據或正文數據來過/去的假設保持同步。我希望Web API不會假設在GET調用時從Body上讀取了複雜類型 - 這是毫無意義的,特別是不作爲默認值。謝謝Tohid和@Filip--這個問題爲我節省了無數次! – Jaxidian