Ho un metodo POST su uno dei miei regolatori di API che accetta un singolo valore stringa:Come si associa un semplice valore POST in ASP.NET WebAPI RC?
public string Post([FromBody] string foo) {
return(fooOracle.ValidateFoo(foo) ? "success" : "failure");
}
sto postando questo con il corpo della richiesta POST come:
foo=123412341234
(cioè è un normale POST HTTP che puoi avviare inviando un modulo browser e utilizzando un client HTTP)
Nella versione candidata di WebAPI, questo ha smesso di funzionare silenziosamente - semplicemente non si lega più a foo. Per ottenere il codice di lavoro, ho dovuto sostituire il metodo con questo:
public string Post(FormDataCollection form) {
var foo = form.Get("foo");
return(fooOracle.ValidateFoo(foo) ? "success" : "failure");
}
Questo funziona, ma è un pò disordinato e coinvolge un po 'più l'impianto idraulico per testare rispetto alla versione precedente.
Ho perso qualche cambiamento sottile o la sintassi del binding [FromBody] è stata deprecata a favore di questa sintassi di collegamento piuttosto dettagliata? L'attributo è ancora lì, ma in realtà non è chiaro ciò che effettivamente fa nella versione RC.
Ha chiesto la tua domanda qui: http://aspnetwebstack.codeplex.com/discussions/359687 – Aliostad