Lesson 51/100

Tutorials MERN Stack Tutorial

fetch Wrapper

fetch Wrapper: free step-by-step lesson with examples, common mistakes, and interview tips — part of MERN Stack Tutorial on Toolliyo Academy.

On this page

MERN Stack Tutorial · Lesson 51 of 100

fetch Wrapper

Setup & React ✓API Mongo Auth ✓Wire & HardenShip & Projects

Wire & Harden · 3 — Full stack · ~6 min · UI Meets API

What is this?

A small api(path, options) helper attaches the base URL and Authorization header so components stay clean.

Why should you care?

Scattered fetch calls duplicate error handling and forget tokens.

See it live — copy this example

Run examples in your MernVerse client/ (Vite React) or server/ (Express) folders. Keep secrets in .env.

const API = import.meta.env.VITE_API_URL;

export async function api(path, { token, ...opts } = {}) {
  const res = await fetch(API + path, {
    headers: {
      'Content-Type': 'application/json',
      ...(token ? { Authorization: `Bearer ${token}` } : {})
    },
    ...opts
  });
  if (!res.ok) throw new Error(await res.text());
  return res.status === 204 ? null : res.json();
}

Run Example »

Edit the code below and click Run to see the result in Toolliyo’s live editor.

Code
Result

What happened?

  • Use VITE_ env for the public API URL.
  • Throw on !ok so UI can show errors.
  • Skip JSON parse on 204.

Practice next

  1. Add VITE_API_URL=http://localhost:5000.
  2. Call api("/api/health").
  3. Pass token from auth context.
  4. Support FormData without forcing Content-Type.
  5. Add timeout with AbortController.

Remember

One client helper. Attach Bearer when present. Surface HTTP errors.

SPA talks API

Notes page loads list.

Outcome: One helper used everywhere.

Interview prep for this lesson

Practice these questions aloud after reading—each links to a full structured answer.

Junior Detailed
Explain JavaScript in the context of MERN Stack.
Short answer: JavaScript runs single-threaded with an event loop. Closures capture lexical scope; promises/async handle I/O without blocking the UI thread. How to structure your answer (60–90 seconds) Define JavaScript i…
Mid Detailed
What are common mistakes teams make with Components when using MERN Stack?
Short answer: Interviewers want a crisp definition, a practical example from your projects, and awareness of trade-offs—not textbook dumps. How to structure your answer (60–90 seconds) Define Components in plain language…
Senior Detailed
How would you debug a production issue related to State in a MERN Stack application?
Short answer: Interviewers want a crisp definition, a practical example from your projects, and awareness of trade-offs—not textbook dumps. How to structure your answer (60–90 seconds) Define State in plain language for…
Mid Detailed
Compare two approaches to API integration—when would you choose each?
Short answer: Interviewers want a crisp definition, a practical example from your projects, and awareness of trade-offs—not textbook dumps. How to structure your answer (60–90 seconds) Define API integration in plain lan…
Junior Detailed
Describe a real-world scenario where Performance mattered in a MERN Stack project.
Short answer: Interviewers want a crisp definition, a practical example from your projects, and awareness of trade-offs—not textbook dumps. How to structure your answer (60–90 seconds) Define Performance in plain languag…
Questions on this lesson 0

Sign in to ask a question or upvote helpful answers.

No questions yet — be the first to ask!

MERN Stack Tutorial
Course syllabus

MERN Tutorial

Setup and Architecture
React Fundamentals
Express APIs
MongoDB and Mongoose
Authentication
UI Meets API
Product Features
Security and Testing
Deploy and Ops
Projects
Toolliyo Assistant
Ask about tutorials, ebooks, training, pricing, mentor services, and support. I use public site content only—not admin or internal tools.

care@toolliyo.com

Need callback? Share your details