如何快速模拟一个后端 API

这篇具有很好参考价值的文章主要介绍了如何快速模拟一个后端 API。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

第一步:创建一个文件夹,用来存储你的数据

数据:

{
  "todos": [
    { "id": 1, "text": "学习html44", "done": false },
    { "id": 2, "text": "学习css", "done": true },
    { "id": 3, "text": "学习javascript", "done": false }
  ]
}

data.json

如何快速模拟一个后端 API,javascript,前端

第二步:使用 json-server 来快速模拟一个后端 API,而无需真正搭建一个完整的后端服务器。这样可以轻松地进行开发、测试和演示,而无需依赖真实的后端服务。

npx json-server ./data.json --port 8080

  • npx: 是一个用于运行本地安装的 npm 包的工具。
  • json-server: 是一个使用 JSON 文件作为数据源创建 RESTful API 的工具。
  • ./data.json: 是指定 JSON 文件的路径和文件名,它将作为数据源提供给 json-server 使用。
  • --port 8080: 是指定服务器的端口号为 8080,这样 json-server 将在该端口上运行。

如何快速模拟一个后端 API,javascript,前端

第三步:安装 axios

如何快速模拟一个后端 API,javascript,前端

第四步:使用

  import axios from "axios";

  const loadData = async () => {
      const res = await axios.get("http://localhost:8080/todos");
      console.log(res);
    };
    loadData();

如何快速模拟一个后端 API,javascript,前端

运行成功显示

如何快速模拟一个后端 API,javascript,前端

实际应用场景:

如何快速模拟一个后端 API,javascript,前端

如何快速模拟一个后端 API,javascript,前端

代码:文章来源地址https://www.toymoban.com/news/detail-618929.html

// 导入
import { useState, useEffect } from "react";

import "./App.scss";
import axios from "axios";

// 子组件
const Module = ({ id, done, text, onToggle, onDelData }) => {
  return (
    <div>
      <span className={done ? "" : "text"} onClick={() => onToggle(id, !done)}>
        -- {text} --
      </span>
      {/* 点击后子组件调用父组件函数,将 id 回传给父组件 */}
      <button onClick={() => onDelData(id)}>删除</button>
    </div>
  );
};

// 父组件
const App = () => {
  // 状态
  const [defaultTodoData, setDefaultTodo] = useState([]);

  // 发请求
  // 注意:不要直接在 useEffect 后边加 async ,因为它是同步的,不用在加了
  // 不是所有的请求都是在 useEffect 中发送,它只处理跟组件挂载、更新、卸载相关的请求代码
  // 比如事件处理程序:处理点击等用户操作时的请求代码
  useEffect(() => {
    const loadData = async () => {
      const res = await axios.get("http://localhost:8080/todos");
      setDefaultTodo(res.data);
      console.log(res.data);
    };
    loadData();
  }, []);

  // 修改文字状态
  const onToggle = async (id, done) => {
    setDefaultTodo(
      defaultTodoData.map((item) => {
        if (item.id === id) return { ...item, done: !item.done };
        return item;
      })
    );

    // 发请求,更新数据
    await axios.patch(`http://localhost:8080/todos/${id}`, { done });
  };

  // 删除
  const onDelData = (xId) => {
    const dataId = defaultTodoData.filter((item) => item.id !== parseInt(xId));
    console.log(xId, "点击了删除", dataId);
    setDefaultTodo(dataId);
  };

  return (
    <div>
      <p>xxx </p>
      {defaultTodoData.map((item) => {
        // key 可以直接用
        // return <Module key={item.id} done={item.done} text={item.text}></Module>;

        // {...item} 解构写法,简化开发
        // onToggle 给子组件调用的函数
        return (
          <Module
            key={item.id}
            {...item}
            onToggle={onToggle}
            onDelData={onDelData}
          ></Module>
        );
      })}
    </div>
  );
};

export default App;

到了这里,关于如何快速模拟一个后端 API的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 后端如何返回一个(图片)文件流,并在前端vue展示。

    后端部分可分为三步: 1,获取文件参数(非必须,根据自己情况添加) 2,获取文件 3,以流形式返回 具体代码如下: 前端展示部分。 1,首先在你的axios接口上添加 responseType:\\\'blob\\\' ,以表示你将以blob形式接收(必须添加)。 2,拿到接口返回值后,将其转为blob形式 此时打

    2024年02月11日
    浏览(40)
  • 本地前端代理连接服务器后端gateway api浏览器提示cors跨域,如何解决?

    🏆本文收录于「Bug调优」专栏,主要记录项目实战过程中的Bug之前因后果及提供真实有效的解决方案,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家 关注收藏订阅 !持续更新中,up!up!up!!   本地前端代理连接服务器后端gateway api浏览器提示

    2024年04月12日
    浏览(42)
  • GORMACS如何使用?一个方法快速完成动力学模拟计算

    GROMACS是一个功能强大的分子动力学的模拟软件,其在模拟大量分子系统的牛顿运动方面具有极大的优势。 它可以用分子动力学、随机动力学或者路径积分方法模拟溶液或晶体中的任意分子,进行分子能量的最小化,分析构象等。它的模拟程序包包含GROMACS力场(蛋白质、核苷酸

    2024年02月02日
    浏览(22)
  • 后端处理一个较大的json文件返回数据给前端太慢该如何优化?

    要优化后端处理较大JSON文件并提高返回数据给前端的速度,可以尝试以下几种方法: 优化数据库查询:如果你的后端从数据库中提取数据并将其转换为JSON格式,可以优化数据库查询来提高效率。确保使用适当的索引和优化查询语句。 逐步加载数据:将大型JSON文件分割成较

    2024年03月24日
    浏览(28)
  • 【JavaScript】面向后端快速学习 笔记

    制作动态页面 脚本语言 弱类型 TS 强类型 1.HTML内部包裹 但是只能单页面使用 引入外部JS文件 2.1 数据类型 数值类型统一为 number , 不区分整数和浮点数 字符串类型为 string 和JAVA中的String相似,JS中 不严格区分单双引号 ,都可以用于表示字符串 布尔类型为 boolean 和Java中的boolea

    2024年01月21日
    浏览(33)
  • 手把手教会你!如何快速在VSCode创建一个VUE项目|前端菜鸟进阶版

    对于刚上手的朋友,我们可以先来了解一下什么是vue: VUE :渐进式javaScript框架。 什么是JS(JavaScript):我封装好一个函数,这个函数可以给其他人调用,这个就是一个js 什么是框架:框架的规则。 在项目开始创建之前,我们需要做好以下几点准备,具体操作可在官网下载。

    2024年02月10日
    浏览(33)
  • 百度翻译API使用教程(前端+后端)

    首先我们需要登录百度翻译开放平台,获取开发者资格: 访问 百度翻译开放平台 然后进行注册(如果有百度账号的话可以直接登录) 注册成功后点击“产品服务”: 跳转到通用文本API界面: 在页面底部点击“立即使用”即可选择服务进行使用 通用文本API有三种服务可供选

    2024年02月14日
    浏览(34)
  • 快速搭建前端页面并与后端交互

    前置: 需要先包含node环境 如果没有,可去node官网下载一个并配置 node官网地址:https://nodejs.org/zh-cn/ 1.1 vue脚手架 检测是否有node环境,如果没有则去node官网下载配置【进入cmd执行以下命令】 安装vue脚手架 创建项目 如果当前文件夹已经存在会提示Target directory exists. Continue

    2024年02月04日
    浏览(27)
  • 不管是前端还是后端,都要看的Elasticsearch快速入门

    Elasticsearch 是一个分布式、高扩展、高实时的搜索与数据分析引擎,Elasticsearch和Mysql,Redis,MongoDb,Clickhouse等一样,都可以认为它 是一种数据库 设想一个场景: user表有6千多万条数据,我想查询nick中包含”大帅哥“的数据: Select nick from user where nick like \\\'%大帅哥%\\\' 比如,我

    2024年02月08日
    浏览(36)
  • json-server Node.js 服务,前端模拟后端提供json接口服务

    json-server Node.js 服务,前端模拟后端提供json接口服务 背景:    前后端分离的项目,如果前端写页面的话,必须的后端提供接口文件,作为前端等待时间太久,不便于开发进行,如果前端写的过程中自己搭建一个简要的后端的json服务接口,就是可以快速进行开发事项的进行,

    2024年02月16日
    浏览(30)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包