2013-04-25 16 views
10

Powiedziano mi, aby zaprojektować interfejs API dla klienta do manipulowania niektórymi danymi. Teraz, starając się nadążyć za Jones'em, zaprojektowałem to używając WebAPI. Publikuję w mojej Restful Webservice obiekt za pośrednictwem $ .AjaxRestful Webservices porównanie WebAPI vs MVC

Dlaczego to różni się od używania tego samego .Ajax do wysłania do standardowego kontrolera MVC 4.0?

Jakie są zalety?

Dzięki

====

W odniesieniu do potencjalnego odpowiedź:

Uwaga Jeśli pracowałeś z ASP.NET MVC, to jesteś już zaznajomiony ze sterownikami. Działają podobnie w Web API, ale kontrolery w Web API pochodzą z klasy ApiController zamiast z klasy Controller. Pierwszą ważną różnicą, którą zauważysz, jest to, że akcje kontrolerów Web API nie zwracają widoków, zwracają dane.

====

nie byłoby to jeszcze być zbędny, przecież zawsze można

return JSON(x); 

z dowolnego kontrolera MVC.

+1

Naprawdę nie inaczej, jeśli używasz kontrolera MVC niż interfejsu WebAPI. Zobacz to pytanie: http://stackoverflow.com/questions/9494966/difference-between-apicontroller-and-controller-in-asp-net-mvc –

+0

Interesujący wpis na ten temat tutaj: http://encosia.com/asp -net-web-api-vs-asp-net-mvc-apis / –

Odpowiedz

1

Nie ma różnicy w Twojej metodzie. Ajax. Twoja strona internetowa nie powinna przejmować się tym, jak serwer ajax się implementuje, chociaż musi być świadomy, czy obsługuje takie rzeczy jak oData, a co nie.

Po stronie serwera istnieje wiele różnic między nimi. Oczywiście, można tworzyć moduły obsługi Ajax w MVC, ale WebAPI zapewnia znacznie więcej narzędzi i więcej mocy.

2

MVC jest zoptymalizowany pod kątem posiadania przeglądarki internetowej jako klienta. Web API jest w stanie obsługiwać wielu różnych klientów. JEŚLI jedynym klientem jest przeglądarka internetowa, to MVC będzie prawdopodobnie lepszym wyborem.