Ho la seguente API Web (GET):Come sviluppare un'API Web ASP.NET per accettare un oggetto complesso come parametro?
public class UsersController : ApiController
{
public IEnumerable<Users> Get(string firstName, string LastName, DateTime birthDate)
{
// Code
}
}
E 'una GET, quindi mi può chiamare in questo modo:
http://localhost/api/users?firstName=john&LastName=smith&birthDate=1979/01/01
e ricevere un risultato XML di utente (s).
E 'possibile incapsulare i parametri per una classe come questa:
public class MyApiParameters
{
public string FirstName {get; set;}
public string LastName {get; set;}
public DateTime BirthDate {get; set;}
}
e poi:
public IEnumerable<Users> Get(MyApiParameters parameters)
ho provato e in qualsiasi momento cerco di ottenere il risultato di http://localhost/api/users?firstName=john&LastName=smith&birthDate=1979/01/01
, il parameter
è nullo.
Bella presa. So che mi mancava qualcosa! :) – Tohid
Questo mi sembra azzoppare OGNI SINGOLO TEMPO torno allo sviluppo dell'API Web. Vorrei che Swashbuckle facesse qualcosa per assicurarsi che esso e Web API fossero in sincronia con le loro ipotesi sul fatto che questi dati arrivino/passino come dati di querystring o dati del corpo. E vorrei che l'API Web non supponesse che i tipi complessi venissero letti dalle chiamate di Body su GET - che non ha senso mai e soprattutto non come default. Grazie a Tohid e @ Filip - questa domanda mi ha salvato molte volte! – Jaxidian