Эта документация была автоматически переведена ИИ.
NocoBase предоставляет APIClient, построенный на базе Axios. С его помощью вы можете отправлять HTTP-запросы из любого места, где доступен объект Context.
Обычно Context доступен в следующих местах:
app.contextengine.contextplugin.contextmodel.contextМетод ctx.api.request() — это наиболее часто используемый способ отправки запросов. Его параметры и возвращаемые значения полностью соответствуют axios.request().
Базовое использование
Вы можете напрямую использовать стандартные конфигурации запросов Axios:
ctx.api.axios — это экземпляр AxiosInstance, с помощью которого вы можете изменять глобальные настройки по умолчанию или добавлять перехватчики запросов.
Изменение настроек по умолчанию
Более подробную информацию о доступных настройках вы найдете в документации Axios по настройкам по умолчанию.
Перехватчики позволяют обрабатывать запросы до их отправки или ответы после их получения. Например, вы можете единообразно добавлять заголовки запросов, сериализовать параметры или отображать унифицированные сообщения об ошибках.
Ниже приведены пользовательские заголовки запросов, поддерживаемые NocoBase Server. Их можно использовать в сценариях с несколькими приложениями, для интернационализации, при работе с несколькими ролями или методами аутентификации.
| Заголовок | Описание |
|---|---|
X-App | Указывает текущее приложение в сценариях с несколькими приложениями |
X-Locale | Текущий язык (например, zh-CN, en-US) |
X-Hostname | Имя хоста клиента |
X-Timezone | Часовой пояс клиента (например, +08:00) |
X-Role | Текущая роль |
X-Authenticator | Метод аутентификации текущего пользователя |
💡 Совет
Эти заголовки запросов обычно автоматически внедряются перехватчиками и не требуют ручной установки. Вручную их нужно добавлять только в особых случаях (например, в тестовых средах или сценариях с несколькими экземплярами).
В компонентах React вы можете получить объект контекста с помощью useFlowContext(), а затем использовать ctx.api для отправки запросов.
В реальной разработке вы можете использовать хук useRequest из библиотеки ahooks, чтобы более удобно управлять жизненным циклом и состоянием запросов.
Такой подход делает логику запросов более декларативной, автоматически управляя состояниями загрузки, обработкой ошибок и логикой обновления, что очень удобно для использования в компонентах.