Logo

dev-resources.site

for different kinds of informations.

My React Journey: Day 19

Published at
12/16/2024
Categories
postman
json
mobile
javascript
Author
ayoola_damilare_212d5bde0
Categories
4 categories in total
postman
open
json
open
mobile
open
javascript
open
Author
25 person written this
ayoola_damilare_212d5bde0
open
My React Journey: Day 19

Practice with JSON APIs and Mock Servers

Working with json-server is a great way to simulate a backend server and practice API interactions like GET, POST, PUT, PATCH, and DELETE.

What is json-server?

  • A tool that allows you to quickly create a mock server to work with a JSON database.
  • Ideal for prototyping and testing APIs without needing a fully functional backend.

Setup and Installation

1. Prerequisite: Node.js

  • Ensure Node.js is installed on your system. Verify using:
node -v
npm -v
Enter fullscreen mode Exit fullscreen mode

2. Install json-server

  • Install globally using npm:
npm install -g [email protected]
Enter fullscreen mode Exit fullscreen mode

How to Use json-server

1. Start the Server
Create a db.json file in your working directory with some initial data. Example:

{
  "posts": [
    { "id": 1, "title": "First Post", "content": "Hello World!" },
    { "id": 2, "title": "Second Post", "content": "Learning JSON-Server" }
  ]
}
Enter fullscreen mode Exit fullscreen mode
  • Start the server and watch for changes in the db.json file:
json-server --watch db.json
Enter fullscreen mode Exit fullscreen mode

2. Explore Endpoints
The server automatically creates RESTful endpoints for each collection in db.json:

  • GET /posts → Fetch all posts
  • GET /posts/1 → Fetch post with ID 1
  • POST /posts → Add a new post
  • PUT /posts/1 → Replace the entire post with ID 1
  • PATCH /posts/1 → Update specific fields in the post with ID 1
  • DELETE /posts/1 → Delete the post with ID 1

Using Postman

Postman is a tool for making HTTP requests to test APIs. Here’s how to perform each operation with Postman:

1. GET (Fetch Data)

2. POST (Add New Data)

{
  "id": 3,
  "title": "New Post",
  "content": "This is a new post"
}
Enter fullscreen mode Exit fullscreen mode
  • Adds a new post to the posts collection.

3. PUT (Replace Entire Resource)

  • Request Type: PUT
  • URL: http://localhost:3000/posts/2
  • Headers: Content-Type: application/json
  • Body (JSON):
    {
    "title": "Updated Title"
    }

  • Result: Replaces the entire resource with the provided data.

Before:

{
  "id": 2,
  "title": "Second Post",
  "content": "Learning JSON-Server"
}
Enter fullscreen mode Exit fullscreen mode

After:

{
  "title": "Updated Title"
}
Enter fullscreen mode Exit fullscreen mode

4. PATCH (Update Specific Fields)

{
  "content": "Updated Content"
}
Enter fullscreen mode Exit fullscreen mode

Result: Updates only the specified field in the resource.

Before:

{
  "id": 1,
  "title": "First Post",
  "content": "Hello World!"
}
Enter fullscreen mode Exit fullscreen mode

After:

{
  "id": 1,
  "title": "First Post",
  "content": "Updated Content"
}
Enter fullscreen mode Exit fullscreen mode

5. DELETE (Remove Data)

Key Differences Between PUT and PATCH

PUT

  • Replaces the entire resource.
  • Omits any fields not included in the body.

PATCH

  • Updates only specified fields.
  • Retains fields not mentioned in the body.

Conclusion

What I Learned:

  • Installed and used json-server to create a mock API server.
  • Practiced basic API operations: GET, POST, PUT, PATCH, DELETE.
  • Understood the difference between PUT and PATCH.

Day 19 Crushed.

postman Article's
30 articles in total
Favicon
Understanding OAuth 1.0a Signature Generation: Postman vs. Node.js Library and Custom Implementation
Favicon
Build and test APIs using simple tools like Postman
Favicon
EchoAPI vs SoupUI: Which One is the Better Choice for You?
Favicon
[Boost]
Favicon
How to set an authorization bearer token in Postman?
Favicon
⚡️The Best Postman Alternative for IntelliJ Every Developer Will Want to Know! 🔥
Favicon
How to Use Postman Interceptor in Chrome | The Best Alternative
Favicon
Is Anyone Here Familiar with Postman Repositories?
Favicon
How to Debug an API to Ensure Data Consistency with the Database
Favicon
Goodbye Postman and Thunder Client: Exploring EchoAPI for VS Code
Favicon
Postman Login Required? Discover Alternative
Favicon
How can I use EchoAPI in VS Code for API testing?
Favicon
Discover the 9 Best Open-Source Alternatives to Postman
Favicon
EchoAPI for VS Code: A Lightweight Alternative to Postman & Thunder Client
Favicon
How to use Cookies in Postman?
Favicon
API Testing Tools Comparison: Postman vs Hoppscotch Showdown
Favicon
My React Journey: Day 19
Favicon
What Is Basic Auth for REST APIs and How to Debug It With Code & Tools
Favicon
Goodbye Postman, Hello Insomnia: A Faster Way to Test APIs ⚡
Favicon
Working Offline? EchoAPI Doesn't Need Constant Internet Like Postman
Favicon
Top 10 HTTP Testing Tools for Mac in 2025
Favicon
Convert a Charles session to a Postman collection
Favicon
EchoAPI vs. Postman: Why EchoAPI is the Superior Choice for API Management
Favicon
EchoAPI:lightweight alternative to Postman
Favicon
Top 10 Tools for Efficient API Testing and Debugging
Favicon
Top Postman Alternatives for Java Developers with Local Scratch Pad Support
Favicon
Why I abandoned Postman for THIS
Favicon
Switching Auth Method in Postman dinamically
Favicon
Postman Proxy: Essential Multi-Purpose Tool for Developers
Favicon
Top API Testing Tools for Mac: Best Picks for 2025

Featured ones: