Usage example
Inject the Client
import { Injectable, OnModuleInit } from '@nestjs/common';
import { ApisixClient, ApisixRouteRequest } from '@nestjstools/apisix-client';
@Injectable()
export class GatewaySyncService implements OnModuleInit {
constructor(private readonly apisix: ApisixClient) {}
async onModuleInit() {
await this.ensureUserRoute();
}
private async ensureUserRoute() {
const routeId = 'users-route';
const desiredRoute: ApisixRouteRequest = {
id: routeId,
uri: '/users',
methods: ['GET', 'POST'],
upstream: {
type: 'roundrobin',
nodes: {
'host.docker.internal:3000': 1,
},
},
};
await this.apisix.route().upsertRoute(routeId, desiredRoute);
console.log('APISIX route updated');
}
}🔧 Configuration
Property
Description
Default
🛠 Supported Gateway Resources
Last updated
Was this helpful?