@romanchenkoalexey
Full stack .NET developer

Архитектура Frontend RESTFul приложения?

Всем добрый день! Я работаю ASP NET Разработчиком . Вот начал интересоваться RESTFul приложениями - разделять бэкенд и фронтэнд - это правильно мне кажется . Если с бекэндом мне понятно , то насчет фронтэнд приложения есть небольшое непонимание . Ведь должна быть какая то часть кода , написанная на серверном языке программирования, которая понимает выдавать какую страницу при запуске ? Надеюсь достаточно понятно выразил вопрос ? Спасибо, если подскажите.
  • Вопрос задан
  • 1318 просмотров
Решения вопроса 3
maxfarseer
@maxfarseer
https://maxpfrontend.ru, обучаю реакту и компании
Здесь такой вопрос уже не раз задавался. При REST подходе, сервер выдает только ответы на ваши api запросы, например в json. Роутинг и шаблонизация, все это организуется уже на клиенте.

Пример:
зарпос серверу: GET /news (выдай новости)

Клиент:
отрисуй новости по шаблончику (который на клиенте уже задан, сервер вообще не при делах)
Ответ написан
@RidgeA
Тут могут быть разные подходы.
В качестве бэк-энда может выступать какой-то REST интерфес, который, грубо говоря, отдает json-ы.

К этому бэкэнду могут быть прикручены разные клиенты - мобильное приложение, браузерное....

Для браузерного есть варианты:
1. это модный сейчас подход SPA, когда на клиентскую часть переносится больше логики и она напрямую ходит на REST-бэкэнд, рэндеринг происходит на клиенте.
2. Обычное web-приложение, которое имеет бэкэнд часть но вместо базы ходит на REST-бэкэнд и рендерит страницы на бэкэнде.
Ответ написан
Jeer
@Jeer
уверенный пользователь
В visual studio создайте новый проект из темплайта angular + .net core, и посмотрите как всё работает.
В общем и целом у вас при запуске загружается одна страница, в вашем случае /home/index, на ней идёт подключение фреймворка, внутри которого уже настраивается роутинг. Примерно так:
RouterModule.forRoot([
            { path: '', redirectTo: 'home', pathMatch: 'full' },
            { path: 'home', component: HomeComponent },
            { path: 'recipient', component: RecipientComponent },
            { path: 'orders', component: OrdersComponent },
            { path: '**', redirectTo: 'home' }
        ])
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы