2013-04-25 22 views
10

Mi è stato detto di progettare un'API per un client per manipolare alcuni dati. Ora, cercando di tenere il passo con Jones, l'ho progettato usando WebAPI. Invio al mio Restful Webservice un oggetto tramite $ .AjaxConfronto dei servizi Web riposanti WebAPI vs MVC

Perché questo è diverso dall'usare lo stesso $ .Ajax per postare su un controller MVC 4.0 standard?

Quali sono i vantaggi?

Grazie

====

Per quanto riguarda la potenziale risposta:

Nota Se avete lavorato con ASP.NET MVC, allora si ha già familiarità con i controller. Funzionano allo stesso modo in Web API, ma i controller in Web API derivano dalla classe ApiController invece della classe Controller. La prima importante differenza che noterete è che le azioni sui controller API Web non restituiscono viste, restituiscono dati.

====

Non sarebbe questo ancora essere ridondante, dopo tutto è sempre possibile

return JSON(x); 

da qualsiasi controller MVC.

+1

Non proprio diverso se si utilizza l'APIController di MVC rispetto a WebAPI. Vedi questa domanda: http://stackoverflow.com/questions/9494966/difference-between-apicontroller-and-controller-in-asp-net-mvc –

+0

Post interessante su questo argomento qui: http://encosia.com/asp net-web-api-vs-asp-net-MVC-apis / –

risposta

1

Non c'è differenza nel metodo $ .Ajax. La tua pagina web non dovrebbe preoccuparsi di come il server ajax si implementa, anche se deve essere consapevole se supporta cose come oData e cosa no.

Sul lato server, ci sono molte differenze tra di loro. Certamente, puoi creare gestori Ajax in MVC, ma WebAPI ti offre molti più strumenti e più potenza.

2

MVC è ottimizzato per avere un browser web come client. Le API Web sono maggiormente in grado di supportare molti diversi client. Se il tuo unico client è un browser web, MVC sarà probabilmente una scelta migliore.