# Nestjs + fastapi You can easily call this API from a NestJS microservice. **.env** ```env FASTAPI_BASE_URL=http://localhost:8000 SECRET_TOKEN=your_secret_token_here ``` **fastapi.service.ts** ```typescript import { Injectable } from "@nestjs/common"; import { HttpService } from "@nestjs/axios"; import { ConfigService } from "@nestjs/config"; import { firstValueFrom } from "rxjs"; @Injectable() export class FastAPIService { constructor( private http: HttpService, private config: ConfigService, ) {} async analyzeText(text: string) { const url = `${this.config.get("FASTAPI_BASE_URL")}/text/analyse`; const token = this.config.get("SECRET_TOKEN"); const response = await firstValueFrom( this.http.post( url, { text }, { headers: { Authorization: `Bearer ${token}`, }, }, ), ); return response.data; } } ``` **app.module.ts** ```typescript import { Module } from "@nestjs/common"; import { ConfigModule } from "@nestjs/config"; import { HttpModule } from "@nestjs/axios"; import { AppController } from "./app.controller"; import { FastAPIService } from "./fastapi.service"; @Module({ imports: [ConfigModule.forRoot(), HttpModule], controllers: [AppController], providers: [FastAPIService], }) export class AppModule {} ``` **app.controller.ts** ```typescript import { Body, Controller, Post, Get } from '@nestjs/common'; import { FastAPIService } from './fastapi.service'; @Controller() export class AppController { constructor(private readonly fastapiService: FastAPIService) {} @Post('analyze-text') async callFastAPI(@Body('text') text: string) { return this.fastapiService.analyzeText(text); } @Get() getHello(): string { return 'NestJS is connected to FastAPI'; } } ```