Как установить backEnd URL в frontEnd реагировать - PullRequest
0 голосов
/ 10 сентября 2018

Я новичок в реагировании (и в целом в интерфейсе). Я только что сделал полноценный API для отдыха на Java, и я хочу спросить вас, ребята, как правильно говорить функцию fetch () в реакции .jsx URL-адрес сервера, в настоящее время он записан на константе, но я полагаю, что должен существовать более элегантный способ сделать это.

спасибо за вашу помощь и счастливого кодирования.

EDIT: Чтобы уточнить, что я имею в виду, это пример кода, который у меня есть:

На заднем плане у меня есть отдых, как это:

@CrossOrigin(origins = "http://localhost:3000")
@RequestMapping("/recursosTotales")
public List<Recurso> recursosTotales(){

    ConectorBd conectorBd =new ConectorBd();
    conectorBd.start();
    return  conectorBd.recursoList();
}

Спереди у меня есть выборка, которая вызывает этот перезапускаемый сервис, например:

fetch("http://localhost:8090/recursosTotales")
  .then(response => response.json())
  .then(response => {
    this.setState({ products: response });
  });

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

Я попытался использовать библиотеку dotenv, но, как я понял, файл process.env не работает с файлами .jsx, поскольку они являются частью клиентской части приложения, а env работает только на стороне сервера. Я не могу полностью понять этот принцип.

В любом случае, я надеюсь, что разъясню свой вопрос. И спасибо всем, кто уже ответил.

РЕДАКТИРОВАТЬ 2

Хорошо, люди, я наконец-то научился правильно использовать dotenv, и это решает мое требование, спасибо всем за вашу помощь и время.

Ответы [ 4 ]

0 голосов
/ 10 сентября 2018

Вы можете преобразовать спецификации API raml в формат Json для отображения списка отформатированных API. Затем вы читаете этот Json и наносите на карту метод выборки. Я думаю, что это способ отражения.

0 голосов
/ 10 сентября 2018

Лично я хотел бы, чтобы это было настраиваемое значение, чтобы я мог легко изменить его после того, как оно будет упаковано и развернуто. Если URL-адрес не является доменным именем, которое вы можете изменить, куда оно будет перенаправлено через другую конфигурацию (например, apache), если вы когда-либо измените адрес внутреннего сервера, вам придется вносить изменения в код, которые могут быть более больше времени, чем изменение конфигурации.

Предполагается, что вы доверяете всем, кто может иметь доступ к этому файлу конфигурации.

0 голосов
/ 10 сентября 2018

Рекомендуется установить его через переменную окружения. Вы можете иметь разные .env файлы для ваших сред и установить хост как переменный

https://github.com/facebook/create-react-app/blob/master/packages/react-scripts/template/README.md#adding-custom-environment-variables

В качестве альтернативы, если хост для пользовательского интерфейса такой же, как и для API, вы можете выбрать хост из window.location

0 голосов
/ 10 сентября 2018

Если ваш frontEnd и backEnd равны имени хоста, используйте window.location.hostname.

Это стекопоток window.location

enter image description here

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