Tech TutorBangla Web Documentation
Portfolio
HomeHTMLCSSTailwind CSSJavaScriptTypeScriptReactNext.jsNode.jsExpressSocket.IOExpoWordPressPostgreSQLPrismaPostgresNestJSMongoDBDockerTanStackTanStack TableRTK QueryGitGitHub
  • TanStack Documentation42টি অধ্যায়
প্রযুক্তি নির্বাচন
HomeHTMLCSSTailwind CSSJavaScriptTypeScriptReactNext.jsNode.jsExpressSocket.IOExpoWordPressPostgreSQLPrismaPostgresNestJSMongoDBDockerTanStackTanStack TableRTK QueryGitGitHub
  • Project Overview
  • Architecture
  • Folder Structure
  • Setup Next.js
  • Axios Setup
  • API Client
  • API Types
  • Query Install
  • Query Provider
  • Query Keys
  • Data Fetching
  • States
  • Devtools
  • Create Mutation
  • Update Mutation
  • Delete Mutation
  • Cache Invalidation
  • Optimistic Update
  • Pagination
  • Search
  • Filtering
  • Sorting
  • TanStack Table
  • Table Explore
  • Table Columns
  • Table Actions
  • React Hook Form
  • Zod Validation
  • Create Form
  • Edit Form
  • Dialog Modal
  • Delete Confirmation
  • Complete CRUD Flow
  • Full Integration
  • Error Handling
  • Loading States
  • Reusable Components
  • Production
  • Complete Project
  • Common Mistakes
  • Best Practices
  • Interview Q&A
  1. Docs
  2. TanStack
  3. Axios Setup — Instance ও Interceptors
TanStackIntermediate

Axios Setup — Instance ও Interceptors

Axios instance, baseURL, timeout, request/response interceptors এবং env variables — বাংলায়।

12টি অংশবাংলা ভাষায়

Axios হলো promise-based HTTP client। সরাসরি fetch-এর চেয়ে Axios-এ interceptor, timeout, এবং বিল্ট-ইন error handling সহজ। আমরা একটি একক instance তৈরি করব — পুরো project একই config ব্যবহার করবে।

fetch vs axios

বিষয়fetchaxios
JSONres.json() ম্যানুয়ালস্বয়ংক্রিয় res.data
TimeoutAbortController জটিলtimeout option
Interceptorsনেইrequest/response middleware
Error handlingHTTP error-এও resolve করেstatus ছাড়া reject করে
লাইব্রেরি আকারbuilt-inছোট dependency

Axios instance

src/lib/axios.tsts
ts
import axios from "axios";

// একটাই instance সারা project
export const api = axios.create({
  baseURL: process.env.NEXT_PUBLIC_API_URL ?? "/api",
  timeout: 10_000,
  headers: { "Content-Type": "application/json" },
});

NEXT_PUBLIC_API_URL .env.local-এ দিন। Next.js-এ NEXT_PUBLIC_ prefix-যুক্ত variable client-side-এ প্রকাশ পায়।

.env.localtext
text
# লোকাল ডেভে route handlers-কে calls → base "/api" ধরেই থাকে
# রিয়েল REST API থাকলে:
NEXT_PUBLIC_API_URL=https://api.example.com

Request interceptor — token

axios.ts (agenda)ts
ts
api.interceptors.request.use((config) => {
  const token = localStorage.getItem("token"); // বা cookie থেকে
  if (token) {
    config.headers.Authorization = `Bearer ${token}`;
  }
  return config;
});

Response error handling

Error normalizationts
ts
api.interceptors.response.use(
  (response) => response,
  (error) => {
    // সার্ভার থেকে error message বের করি
    const message =
      error.response?.data?.message ??
      error.message ??
      "অজানা সমস্যা হয়েছে";

    return Promise.reject(new Error(message));
  }
);
localStorage-এ token সাবধান

Authentication-এর detail এই কোর্সের বাইরে, তবে জেনে রাখুন — production-এ token সাধারণত HttpOnly cookie-তে থাকে, আমাদের মতো localStorage-এ নয়। বাস্তব project-এ auth middleware ব্যবহার করুন।

শেষ প্যারায় নিজে practice করুন — কোড কপি করে নিজের এডিটরে চালিয়ে দেখুন।
আগেরSetup Next.js ProjectপরেরAPI Client — Typed Functions
এই পেজে
Tech Tutor

বাংলায় ওয়েব ডেভেলপমেন্ট ডকুমেন্টেশন শিখুন — ধাপে ধাপে।

Homeসব ডকুমেন্টেশনQuick Startআমার নোটস

© 2026 Tech Tutor. বাংলায় শিখুন, বাংলায় গড়ুন।

mdanamolhasan1998@gmail.com