0

0

我的 React 之旅:第 19 天

花韻仙語

花韻仙語

发布时间:2024-12-17 13:57:16

|

949人浏览过

|

来源于dev.to

转载

我的 react 之旅:第 19 天

使用 json api 和模拟服务器进行练习

使用 json-server 是模拟后端服务器并练习 get、post、put、patch 和 delete 等 api 交互的好方法。

什么是 json-server

  • 一个工具,允许您快速创建一个模拟服务器来使用json数据库。
  • 非常适合原型设计和测试 api,无需功能齐全的后端。

设置和安装

1。先决条件:node.js

  • 确保您的系统上安装了 node.js。验证使用:
node -v
npm -v

2。安装 json-server

  • 使用 npm 全局安装:
npm install -g json-server@0.17.4

如何使用 json-server

1。启动服务器
使用一些初始数据在工作目录中创建 db.json 文件。示例:

{
  "posts": [
    { "id": 1, "title": "first post", "content": "hello world!" },
    { "id": 2, "title": "second post", "content": "learning json-server" }
  ]
}
  • 启动服务器并观察 db.json 文件中的更改:
json-server --watch db.json
  • 默认情况下,服务器将在http://localhost:3000.
  • 运行

2。探索端点
服务器自动为 db.json 中的每个集合创建 restful 端点:

  • get /posts → 获取所有帖子
  • get /posts/1 → 获取 id 为 1 的帖子
  • post /posts → 添加新帖子
  • put /posts/1 → 将整个帖子替换为 id 1
  • patch /posts/1 → 更新帖子中 id 为 1 的特定字段
  • delete /posts/1 → 删除 id 为 1 的帖子

使用邮递员

postman 是一个用于发出http 请求来测试api的工具。以下是如何使用 postman 执行每个操作:

1。 get(获取数据)

  • 请求类型:get
  • 网址:http://localhost:3000/posts
  • 获取帖子列表。

2。 post(添加新数据)

  • 请求类型:post
  • 网址:http://localhost:3000/posts
  • 标头:内容类型:application/json
  • 正文(json):
{
  "id": 3,
  "title": "new post",
  "content": "this is a new post"
}
  • 将新帖子添加到帖子集合中。

3。 put(替换整个资源)

  • 请求类型:put
  • 网址:http://localhost:3000/posts/2/2
  • 标头:内容类型:application/json
  • 正文(json):
    {
    "title": "更新标题"
    }

  • 结果:用提供的数据替换整个资源。

之前:

{
  "id": 2,
  "title": "second post",
  "content": "learning json-server"
}

之后:

imgAK
imgAK

一站式AI图像处理工具

下载
{
  "title": "updated title"
}

4。 patch(更新特定字段)

  • 请求类型:patch
  • 网址:http://localhost:3000/posts/1/1
  • 标头:内容类型:application/json
  • 正文(json):
{
  "content": "updated content"
}

结果: 仅更新资源中的指定字段。

之前:

{
  "id": 1,
  "title": "first post",
  "content": "hello world!"
}

之后:

{
  "id": 1,
  "title": "First Post",
  "content": "Updated Content"
}

5。 delete(删除数据)

  • 请求类型:删除
  • 网址:http://localhost:3000/posts/1/1
  • 删除 id 为 1 的帖子。

put 和 patch 之间的主要区别

放置

  • 替换整个资源。
  • 省略正文中未包含的任何字段。

补丁

  • 仅更新指定字段。
  • 保留正文中未提及的字段。

结论

我学到了什么:

  • 安装并使用 json-server 创建模拟 api 服务器。
  • 练习了基本的 api 操作:get、post、put、patch、delete。
  • 了解 put 和 patch 之间的区别。

第 19 天崩溃了。

相关专题

更多
PHP API接口开发与RESTful实践
PHP API接口开发与RESTful实践

本专题聚焦 PHP在API接口开发中的应用,系统讲解 RESTful 架构设计原则、路由处理、请求参数解析、JSON数据返回、身份验证(Token/JWT)、跨域处理以及接口调试与异常处理。通过实战案例(如用户管理系统、商品信息接口服务),帮助开发者掌握 PHP构建高效、可维护的RESTful API服务能力。

146

2025.11.26

json数据格式
json数据格式

JSON是一种轻量级的数据交换格式。本专题为大家带来json数据格式相关文章,帮助大家解决问题。

411

2023.08.07

json是什么
json是什么

JSON是一种轻量级的数据交换格式,具有简洁、易读、跨平台和语言的特点,JSON数据是通过键值对的方式进行组织,其中键是字符串,值可以是字符串、数值、布尔值、数组、对象或者null,在Web开发、数据交换和配置文件等方面得到广泛应用。本专题为大家提供json相关的文章、下载、课程内容,供大家免费下载体验。

532

2023.08.23

jquery怎么操作json
jquery怎么操作json

操作的方法有:1、“$.parseJSON(jsonString)”2、“$.getJSON(url, data, success)”;3、“$.each(obj, callback)”;4、“$.ajax()”。更多jquery怎么操作json的详细内容,可以访问本专题下面的文章。

309

2023.10.13

go语言处理json数据方法
go语言处理json数据方法

本专题整合了go语言中处理json数据方法,阅读专题下面的文章了解更多详细内容。

74

2025.09.10

软件测试常用工具
软件测试常用工具

软件测试常用工具有Selenium、JUnit、Appium、JMeter、LoadRunner、Postman、TestNG、LoadUI、SoapUI、Cucumber和Robot Framework等等。测试人员可以根据具体的测试需求和技术栈选择适合的工具,提高测试效率和准确性 。

436

2023.10.13

数据库Delete用法
数据库Delete用法

数据库Delete用法:1、删除单条记录;2、删除多条记录;3、删除所有记录;4、删除特定条件的记录。更多关于数据库Delete的内容,大家可以访问下面的文章。

269

2023.11.13

drop和delete的区别
drop和delete的区别

drop和delete的区别:1、功能与用途;2、操作对象;3、可逆性;4、空间释放;5、执行速度与效率;6、与其他命令的交互;7、影响的持久性;8、语法和执行;9、触发器与约束;10、事务处理。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

208

2023.12.29

Golang gRPC 服务开发与Protobuf实战
Golang gRPC 服务开发与Protobuf实战

本专题系统讲解 Golang 在 gRPC 服务开发中的完整实践,涵盖 Protobuf 定义与代码生成、gRPC 服务端与客户端实现、流式 RPC(Unary/Server/Client/Bidirectional)、错误处理、拦截器、中间件以及与 HTTP/REST 的对接方案。通过实际案例,帮助学习者掌握 使用 Go 构建高性能、强类型、可扩展的 RPC 服务体系,适用于微服务与内部系统通信场景。

8

2026.01.15

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PHP新手语法线上课程教学
PHP新手语法线上课程教学

共13课时 | 0.9万人学习

光速学会docker容器
光速学会docker容器

共33课时 | 1.9万人学习

时间管理,自律给我自由
时间管理,自律给我自由

共5课时 | 0.8万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号