Различные структуры проекта при создании приложения Angular с отдельным Spring Backend - PullRequest
0 голосов
/ 11 ноября 2018

Я хочу создать веб-страницу, где я разделяю базу данных, серверную часть и интерфейс и создаю, а затем устанавливаю связь через REST. Я запутался в том, как структурировать проект (ы). Как я читал, существуют следующие подходы:

  1. Создание различных проектов: один для внешнего интерфейса (скажем, Angular) и один для внутреннего интерфейса (Spring), включая подключение к базе данных. Они полностью отделены друг от друга, и могут использоваться разные IDE.

  2. Соберите его в один большой проект, но используйте REST для связи (см. Рисунок ниже).

Теперь я хотел бы знать, в чем разница между этими двумя подходами? Я не знаю (и не спрашиваю), какой из них лучше, но я даже не могу определить причины или следствия, чтобы выбрать один выше или ниже другого.

Approach 2

1 Ответ

0 голосов
/ 11 ноября 2018

Это действительно вопрос личных предпочтений, но они могут быть в совершенно разных проектах, и в то же время вы можете поместить свои пакеты JS (из ng build) в папку resources / static (приложения Spring) и это будет отлично работать, если вы хотите запустить их на одном сервере.

Вы можете установить конфигурацию прокси, чтобы сделать ее проще:

{
  "/api": {
    "target": "http://localhost:8080",
    "secure": false
  }
}

Таким образом, всякий раз, когда вы делаете отдых, звоните с чем-то вроде Angulars HttpClient, если вы поместите /api перед URL, это будет вызывать ваш весенний бэкэнд.

Пример:

  public fetchResource(id: number): Observable<Resource> {
    return this.http.get(`/api/resources/${id}`);
  }

Я предпочитаю, чтобы мой клиент и API были в разных проектах.

Всякий раз, когда вы хотите добавить пакеты JS в вашу папку ресурсов / статическую, вы можете просто создать сценарий NPM, чтобы сделать это для вас в package.json.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...