📖 Scenario: You are building a simple Express API for a bookstore. You want to document your API routes clearly so other developers can understand and use your API easily.
🎯 Goal: Create an Express API with clear documentation comments for each route using best practices. This will help other developers know what each route does, what parameters it expects, and what responses it returns.
📋 What You'll Learn
Create an Express app with a route to get all books
Add a configuration variable for the API version
Use JSDoc-style comments to document the route with method, path, parameters, and response
Add a final route to get API info including the version
💡 Why This Matters
🌍 Real World
Clear API documentation helps teams and external developers understand how to use your API without confusion or guesswork.
💼 Career
Writing good API docs is a key skill for backend developers, API designers, and anyone working with web services.
Progress0 / 4 steps
1
Set up Express app and initial route
Create an Express app by importing express and calling express(). Then create a route GET /books that sends a JSON array with two books: { id: 1, title: '1984' } and { id: 2, title: 'Brave New World' }.
Express
Hint
Use require('express') to import Express and express() to create the app. Use app.get('/books', (req, res) => { ... }) to create the route.
2
Add API version configuration
Create a constant variable called apiVersion and set it to the string '1.0'.
Express
Hint
Use const apiVersion = '1.0' to store the API version.
3
Add JSDoc-style documentation to the /books route
Add a JSDoc comment above the app.get('/books') route. Document the HTTP method as GET, the path as /books, describe that it returns a list of books, and specify that the response is a JSON array of objects with id and title fields.
Express
Hint
Use /** ... */ to add a JSDoc comment. Include GET /books, a short description, and an @returns tag describing the JSON response.
4
Add a route to get API info including version
Add a new route GET /info that returns a JSON object with a version field set to the apiVersion variable. Also add a JSDoc comment documenting this route with method, path, and response.
Express
Hint
Create a new route app.get('/info', ...) that sends { version: apiVersion } as JSON. Add a JSDoc comment describing the route and response.
Practice
(1/5)
1. Which of the following is the most important reason to write clear API documentation in Express?
easy
A. To make your code run faster
B. To reduce the size of your project files
C. To help other developers understand how to use your API without confusion
D. To avoid writing tests for your API
Solution
Step 1: Understand the purpose of API documentation
API documentation explains how to use the API, including routes, parameters, and responses.
Step 2: Identify the main benefit of clear documentation
Clear docs help other developers use the API correctly without confusion or mistakes.
Final Answer:
To help other developers understand how to use your API without confusion -> Option C
Quick Check:
Clear docs = help others [OK]
Hint: Think about who reads your docs: other developers [OK]
Common Mistakes:
Confusing documentation with code optimization
Thinking docs reduce file size
Assuming docs replace testing
2. Which syntax is the best way to add a comment describing an Express route for documentation?
easy
A. // This route returns all users
B.
C. # This route returns all users
D. /* This route returns all users */
Solution
Step 1: Identify the comment style used in JavaScript/Express
Express uses JavaScript, which supports single-line comments with // and multi-line with /* */.
Step 2: Choose the correct comment syntax for a single line
Single-line comments use //, so // This route returns all users is correct.
Final Answer:
// This route returns all users -> Option A
Quick Check:
JS single-line comment = // [OK]
Hint: Use // for single-line comments in JavaScript [OK]
Common Mistakes:
Using HTML comments in JS code
Using # which is for Python or shell scripts
Confusing multi-line and single-line comment styles
3. Given this Express route with JSDoc comments, what is the documented HTTP method and path?
/**
* Get all products
* @route GET /products
* @returns {Array} List of products
*/
app.get('/products', (req, res) => { res.send([]); });
medium
A. GET /products
B. DELETE /products
C. GET /product
D. POST /products
Solution
Step 1: Read the JSDoc comment for the route
The comment says @route GET /products, indicating the HTTP method and path.
Step 2: Match the comment with the Express route
The code uses app.get('/products'), matching the GET method and /products path.
Final Answer:
GET /products -> Option A
Quick Check:
JSDoc @route matches app.get path [OK]
Hint: Look for @route tag in comments to find method and path [OK]
Common Mistakes:
Confusing GET with POST or DELETE
Ignoring the exact path string
Assuming plural vs singular path names
4. You wrote this Express route but forgot to document the expected query parameter. What is the best fix?
app.get('/search', (req, res) => {
const term = req.query.term;
res.send(`Searching for ${term}`);
});
medium
A. Remove the query parameter from the code
B. Add a JSDoc comment describing the 'term' query parameter
C. Change the route to POST to avoid query parameters
D. Add a console.log statement inside the route
Solution
Step 1: Identify missing documentation
The route uses req.query.term but no comment explains this parameter.
Step 2: Add clear documentation for the query parameter
Use JSDoc to describe the 'term' parameter so users know what to send.
Final Answer:
Add a JSDoc comment describing the 'term' query parameter -> Option B
Quick Check:
Document all parameters for clarity [OK]
Hint: Document every input your API expects [OK]
Common Mistakes:
Ignoring query parameters in docs
Changing HTTP method unnecessarily
Adding logs instead of docs
5. You want to keep your Express API documentation close to your code and automatically generate docs for users. Which approach is best?
hard
A. Write separate markdown files manually and update them after code changes
B. Only write comments in code without any generation tool
C. Create a PDF document describing the API and email it to users
D. Use JSDoc comments in your route files and a tool like swagger-jsdoc to generate docs
Solution
Step 1: Understand the goal of keeping docs close to code
Keeping docs near code helps keep them updated and reduces errors.
Step 2: Identify tools that generate docs from code comments
JSDoc comments combined with swagger-jsdoc can auto-generate API docs from code.
Step 3: Compare options
Manual markdown or PDFs are separate and can get outdated; comments alone don't generate docs.
Final Answer:
Use JSDoc comments in your route files and a tool like swagger-jsdoc to generate docs -> Option D
Quick Check:
Auto-generate docs from code comments = best practice [OK]
Hint: Use tools that generate docs from code comments automatically [OK]
Common Mistakes:
Writing docs separately and forgetting updates
Not using any generation tool
Relying on static PDFs
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.