РСХБ - HTTP
Библиотека для взаимодействия с API проекта Свой Бизнес.
Использование
import { api } from "@rshb/http/api/monolith";
const fetchClients = async () => {
try {
const clientsResponse = await api.clients.clientsList();
} catch (error) {
console.log(error));
}
}
Библиотека требует наличия переменной окружения указанной в process.env.API_URL
, значение которой используется в качестве параметра baseUrl
в HttpClient'е.
Если вам понадобилось использовать несколько версий http-клиента, вы можете импортировать базовый класс Api
для создания собственного экземпляра клиента:
import { Api } from "@rshb/http/api/monolith";
const api = new Api({
baseUrl: "https://base.url.ru"
});
const fetchClients = async () => {
try {
const clientsResponse = await api.clients.clientsList({
baseUrl: "https://custom.base.url.ru"
});
} catch (error) {
console.log(error));
}
}
Генерация API
Для обеспечения типобезопасного взаимодействия с API, мы используем swagger-спецификацию версии 2.0. Для автоматической генерации новой версии API необходимо добавить обновленную версию файла src/api/monolith/swagger/rest-front-api-v1.yml
и выполнить команду yarn generate-monolith-api
. Актуальную версию спецификации rest-front-api-v1
можно получить по запросу у backend-разработчиков.
Устаревший HttpClient
Для обеспечения обратной совместимости предоставляется возможность использования старой версии http-клиента:
import { GET } from "@rshb/http/client/deprecated";
const fetchClients = async () => {
try {
const clientsResponse = await GET("/clients");
} catch (error) {
console.log(error));
}
}
Данный http-клиент является устаревшим и будет удален после миграции проектов на новую версию.