ASP.NET MVC + WEB API czyli jak to ze sobą pożenić

0

Cześć wszystkim,

Mam ostatnio spore rozterki dotyczące architektury aplikacji asp.net mvc w których wystąpiła konieczność wykorzystania web api.

Przykładowa aplikacja miałaby składać się z:
A/ strona główna -> chcę wykorzystać routing z MVC, np. domyślna Akcja "Index" z kontrolera "Home" -> user może przejść z tej strony do punktu B/ lub C/
B/ strona do rejestrowania się -> tutaj również poprzez routing z MVC przekierowuję użytkownika do konkretnej akcji, rejestruj/loguj itp.
C/ strona do zarządzania danymi w bazie -> przekierowanie przez routing MVC do strony o adresie domena.com/manage po zalogowaniu. W tym miejscu wchodzi do akcji moje web api, które jest zaimplementowane w tej samej aplikacji + Angular -> aplikacja działa bardziej jak SPA.

Pytania:
1/ Czy powyższy przykład jest poprawny od strony dobrych praktyk?
2/ Czy w ogóle powinienem wykorzystywać routing asp.net mvc i strony cshtml?
3/ Czy pisząc aplikację z web api powinienem tworzyć strony html z Angularem? Jeżeli tak - jak wygląda struktura waszej aplikacji? Plik index.html macie w głównym katalogu projektu, a wszystkie inne strony znajdują się gdzie indziej?
4/ Czy powinienem rozdzielić web api od mvc i napisać je w oddzielnych solucjach i postawić je jako niezależne aplikacje?

Dziękuję za pomoc.

0

Postaw sobie osobno stronę w MVC i osobno WEBApi. Możesz je trzymać w jednej solucji. Jeśli portal będzie potrzebował jakichś zasobów (np. dane z bazy) albo zaistnieje potrzeba przetworzenia czegoś to niech prześle to do API. API zrobi swoje i odsyła odpowiedź

*Czy pisząc aplikację z web api powinienem tworzyć strony html z Angularem? Jeżeli tak - jak wygląda struktura waszej aplikacji? Plik index.html macie w głównym katalogu projektu, a wszystkie inne strony znajdują się gdzie indziej? *
Pisząc samo web api nie potrzebujesz żadnego htmla ani js, nie musi być w nim ani jednego widoku. Co do strony która z api korzysta to masz pełną dowolność - może być napisana w czymkolwiek chcesz

1 użytkowników online, w tym zalogowanych: 0, gości: 1