Detta dokument har översatts av AI. För eventuella felaktigheter, se den engelska versionen
NocoBase tillhandahåller en APIClient som är baserad på Axios. Den kan användas för att skicka HTTP-förfrågningar från alla platser där ni har tillgång till ett Context.
Vanliga platser där ni kan få tillgång till Context är:
app.contextengine.contextplugin.contextmodel.contextctx.api.request() är den mest använda metoden för att skicka förfrågningar. Dess parametrar och returvärden är exakt desamma som för axios.request().
Grundläggande användning
Ni kan direkt använda standardkonfigurationer för Axios-förfrågningar:
ctx.api.axios är en instans av AxiosInstance genom vilken ni kan ändra globala standardkonfigurationer eller lägga till förfrågningsinterceptor.
Ändra standardkonfiguration
För fler tillgängliga konfigurationer, se Axios standardkonfiguration.
Interceptor kan bearbeta förfrågningar innan de skickas eller svar efter att de har returnerats. Ni kan till exempel enhetligt lägga till förfrågningshuvuden, serialisera parametrar eller visa enhetliga felmeddelanden.
Följande är anpassade förfrågningshuvuden som stöds av NocoBase Server och som kan användas i scenarier med flera applikationer, internationalisering, flera roller eller flera autentiseringsmetoder.
| Header | Beskrivning |
|---|---|
X-App | Anger den aktuella applikationen vid scenarier med flera applikationer |
X-Locale | Aktuellt språk (t.ex. zh-CN, en-US) |
X-Hostname | Klientens värdnamn |
X-Timezone | Klientens tidszon (t.ex. +08:00) |
X-Role | Aktuell roll |
X-Authenticator | Aktuell användarautentiseringsmetod |
💡 Tips
Dessa förfrågningshuvuden injiceras vanligtvis automatiskt av interceptor och behöver inte ställas in manuellt. Ni behöver bara lägga till dem manuellt i speciella scenarier (som testmiljöer eller miljöer med flera instanser).
I React-komponenter kan ni hämta kontextobjektet via useFlowContext() och sedan anropa ctx.api för att skicka förfrågningar.
I praktisk utveckling kan ni använda useRequest-hooken från ahooks för att smidigare hantera förfrågningars livscykel och status.
Detta tillvägagångssätt gör förfrågningslogiken mer deklarativ och hanterar automatiskt laddningsstatus, felmeddelanden och uppdateringslogik, vilket gör den mycket lämplig för användning i komponenter.