Использование переменных среды в конфигах источника данных
Конфигурация источника данных - это просто JSON файл, который импортируется в *.datasource.ts
. Следовательно, вы можете заменить этот JSON файл файлом Typescript и импортировать его соответствующим образом. LoopBack 4 не предоставляет никакого механизма подстановки пользовательских переменных. Вместо этого рекомендуется использовать process.env
.
. Последние версии CLI заменяют конфигурацию JSON в пользу использования одного файла Typescript:
import {inject} from '@loopback/core';
import {juggler} from '@loopback/repository';
const config = {
name: 'db',
connector: 'memory',
};
export class DbDataSource extends juggler.DataSource {
static dataSourceName = 'db';
static readonly defaultConfig = config;
constructor(
@inject('datasources.config.db', {optional: true})
dsConfig: object = config,
) {
super(dsConfig);
}
}
Внедрение зависимостей в конструктор позволяет программно переопределить конфигурацию через контейнер приложения Io C.
Дополнительные сведения
Вызов внешних API без соединителя REST
Соединитель REST обеспечивает четко определенный интерфейс для запроса внешних API, чтобы можно было выполнять проверку перед отправкой запроса.
Если это Это не выгодно, можно создать новый Сервис в качестве оболочки для HTTP-запросов. Оттуда вы можете предоставлять свои собственные функции для обработки запросов к внешнему API. Поскольку Службам не нужно следовать жесткой структуре, можно настроить ее в соответствии с вашим вариантом использования.
Также можно создать новый запрос непосредственно внутри контроллера, используя встроенные или внешние библиотеки. .
В целом, в LoopBack 4 не существует 100% правильного или неправильного способа выполнения определенных действий. Следовательно, платформа предоставляет многочисленные способы решения одной и той же проблемы.