当前位置: 首页 > news >正文

「工具|数据接口」免费公开的REST API 如何借助github搭建自己的fake API接口

本文主要介绍日常开发、测试、教学或者分享中,可能遇到的模拟数据问题。分享免费开发的测试数据接口,以及如何利用github快速搭建定制化的接口数据,避免使用真实数据的风险以及自己现编数据的麻烦。

文章目录

  • 一、场景说明
  • 二、免费公开的Fake REST API: jsonplaceholder
  • 三、借助GitHub和My JSON Server搭建自己的定制化数据接口

一、场景说明

日常开发、测试、教学或者分享中,可能在使用需要请求数据的时候遇到一些困难:

  • 需要测试数据对处理逻辑进行测试
  • 进行前端开发时后端接口尚未开发
  • 教程或分享中不可以使用真实业务数据
  • 在一些对数据格式和内容没有要求的场景,手动编写数据进行mock比较麻烦

于是这就涉及到我们需要使用一些公开的且最好是免费的API来尽可能快速地满足我们这些需求场景。

接下来将介绍满足需求的jsonplaceholder,这个接口提供了一些场景类型以及内容的数据来供测试和设计原型时使用。

并且,我们会介绍,当我们对返回的数据和内容有定制化的需求的时候,同时又希望测试真实的网络请求时,如何借助GitHub和My JSON Server搭建一个返回我们预期数据的Fake API.


二、免费公开的Fake REST API: jsonplaceholder

JSONPlaceholder 是一个免费的在线 REST API,可以在我们需要一些虚假数据时使用。它可以位于 GitHub 上的自述文件中、CodeSandbox 上的演示、Stack Overflow 上的代码示例中,或者只是在本地进行测试。

JSONPlaceholder的API地址为: https://jsonplaceholder.typicode.com/,提供了6类常见的数据:

  • /posts: 100 posts
  • /comments: 500 comments
  • /albums: 100 albums
  • /photos: 5000 photos
  • /todos: 200 todos
  • /users: 10 users

同时提供的这些数据之间存在一些关联,比如post会有一些commentalbums会涉及photos等等。

接口支持所有的HTTP方法,遵循Restful风格,所以可以进行如下请求:

  • GET /posts
  • GET /posts/1
  • GET /posts/1/comments
  • GET /comments?postId=1
  • POST /posts
  • PUT /posts/1
  • PATCH /posts/1
  • DELETE /posts/1

更多使用案例可以参考官方文档


三、借助GitHub和My JSON Server搭建自己的定制化数据接口

如果我们希望返回的数据是定制化的,比如数据包含的字段由我们自己指定。那么可以借助GitHub和My JSON Server来快速Fake一个接口。方法如下:

  • 首先在github上面新建一个仓库 (/)
  • 在项目中新建一个db.json文件,这个文件里的数据就是我们的接口会返回的数据
  • 然后我们就可以访问https://my-json-server.typicode.com/<your-username>/<your-repo-name>来获取我们的数据了

比如官方的data.json内容如下:

{"posts": [{"id": 1,"title": "Post 1"},{"id": 2,"title": "Post 2"},{"id": 3,"title": "Post 3"}],"comments": [{"id": 1,"body": "some comment","postId": 1},{"id": 2,"body": "some comment","postId": 1}],"profile": {"name": "typicode"}
}

同时这个data.json在github上typicode用户的demo仓库下,那么我们就可以通过如下方式访问到对应数据:

  • 获取数据库全部数据:https://my-json-server.typicode.com/typicode/demo/db
  • 获取所有的post:https://my-json-server.typicode.com/typicode/demo/posts
  • 获取id为1的post:https://my-json-server.typicode.com/typicode/demo/posts/1

基本上常见的fake API使用场景都可以用这两个方法来满足,快去试试吧!

写文不易,如果对你有帮助的话,来一波点赞、收藏、关注吧~👇

相关文章:

「工具|数据接口」免费公开的REST API 如何借助github搭建自己的fake API接口

本文主要介绍日常开发、测试、教学或者分享中&#xff0c;可能遇到的模拟数据问题。分享免费开发的测试数据接口&#xff0c;以及如何利用github快速搭建定制化的接口数据&#xff0c;避免使用真实数据的风险以及自己现编数据的麻烦。 文章目录 一、场景说明二、免费公开的Fak…...

leetcode 18. 四数之和

给你一个由 n 个整数组成的数组 nums &#xff0c;和一个目标值 target 。请你找出并返回满足下述全部条件且不重复的四元组 [nums[a], nums[b], nums[c], nums[d]] &#xff08;若两个四元组元素一一对应&#xff0c;则认为两个四元组重复&#xff09;&#xff1a; 0 < a,…...

树上背包问题动态规划

目录 树状动态规划概述 示例 求解思路 树状动态规划概述 树状动态规划&#xff08;Tree DP&#xff09;是一种在树结构上进行动态规划的方法。在树状DP中&#xff0c;我们利用树的特殊结构性质&#xff0c;通过递归地向下更新子节点的状态&#xff0c;最终得到整个树的最…...

linux查看进程对应的线程(数)

首先&#xff0c;top或ps查看进程列表&#xff0c;确定要查看的进程pid&#xff0c;如下面40698 查看进程的线程情况 查看进程&#xff1a;top -p 40698 查看线程&#xff1a;top -p 40698 -d 3 -H 其中-d是刷新频率 可看到此进程共211个线程&#xff0c;运行中的是211个。…...

Python中的桌面应用开发库有哪些?

Python中有几个受欢迎的桌面应用开发库。以下是其中一些&#xff1a; Tkinter&#xff1a;这是Python的标准GUI库&#xff0c;它提供了构建简单的桌面应用程序的基本组件和功能。 PyQt&#xff1a;这是一个成熟的、功能强大的跨平台图形用户界面框架&#xff0c;它是Python绑定…...

【大数据】Neo4j 图数据库使用详解

目录 一、图数据库介绍 1.1 什么是图数据库 1.2 为什么需要图数据库 1.3 图数据库应用领域 二、图数据库Neo4j简介 2.1 Neo4j特性 2.2 Neo4j优点 三、Neo4j数据模型 3.1 图论基础 3.2 属性图模型 3.3 Neo4j的构建元素 3.3.1 节点 3.3.2 属性 3.3.3 关系 3.3.4 标…...

Windows11系统C盘用户文件夹下用户文件夹为中文,解决方案

说明&#xff1a; 1. 博主电脑为Windows11操作系统&#xff0c;亲测有效&#xff0c;修改后无任何影响&#xff0c;软件都可以正常运行&#xff01; 2. Windows10系统还不知道可不可行&#xff0c;因为Windows11的计算机管理中没有本地用户和组&#xff0c;博主在csdn上看到很…...

Python正则表达式(re)

正则表达式&#xff0c;又称规则表达式,&#xff08;Regular Expression&#xff0c;在代码中常简写为regex、regexp或RE&#xff09;&#xff0c;是一种文本模式&#xff0c;包括普通字符&#xff08;例如&#xff0c;a 到 z 之间的字母&#xff09;和特殊字符&#xff08;称为…...

【PyTorch 08】如果要手动安装对应的包

例如有时候我们要下载 PyG &#xff0c;但是需要手动下载&#xff0c;需要进行以下步骤&#xff1a; 网站链接&#xff1a;https://data.pyg.org/whl/ 首先查看当前安装好的Pytorch版本和对应的cuda版本 1. pip list&#xff1a;查看torch版本 2. torch.version.cuda&#xf…...

黑马JVM总结(十二)

&#xff08;1&#xff09;五种引用_强软弱 实线箭头表示强引用&#xff0c;虚心线表示软弱虚终结器引用 在平时我们用的引用&#xff0c;基本都为强引用 &#xff0c;比如说创建一个对象通过运算符赋值给了一个变量&#xff0c;那么这个变量呢就强引用了刚刚的对象 强引用的…...

彻底搞懂线程池原理以及创建方式

1. 为什么要使用线程池 在实际使用中&#xff0c;线程是很占用系统资源的&#xff0c;如果对线程管理不善很容易导致系统问题。因此&#xff0c;在大多数并发框架中都会使用线程池来管理线程&#xff0c;使用线程池管理线程主要有如下好处&#xff1a; 降低资源消耗。通过复用…...

FreeSWITCH 1.10.10 简单图形化界面9 - 鼎兴FXO网关SIP中继内网IPPBX落地

FreeSWITCH 1.10.10 简单图形化界面9 - 鼎兴FXO网关SIP中继内网IPPBX落地 0、 界面预览1、创建一个话务台2、创建PBX SIP中继并设置呼入权限3、设置呼出规则4、设置分机呼出权限5、设置FXO 网关相关信息6、设置FXO网关端口组呼入号码7、设置FXO网关的SIP中继8、设置FXO网关呼叫…...

Oracle数据如何迁移导入到MySQL

使用Navicat工具建立数据连接&#xff0c;进行数据传输 1、打开Navicat工具&#xff0c;分别连接Oracle数据库和MySQL数据库。 2、连接源选择你的oracle数据&#xff0c;目标选mysql 即可成功导入...

卡尔曼滤波(Kalman Filter)原理浅析-数学理论推导-1

目录 前言数学理论推导1. 递归算法2. 数学基础结语参考 前言 最近项目需求涉及到目标跟踪部分&#xff0c;准备从 DeepSORT 多目标跟踪算法入手。DeepSORT 中涉及的内容有点多&#xff0c;以前也就对其进行了简单的了解&#xff0c;但是真正去做发现总是存在这样或者那样的困惑…...

Linux 文件创建、查看

touch、cat、more命令 ①touch命令——创建文件 ②cat命令——查看文件内容全部显示 这是txt.txt文件内容 使用cat命令查看 ③more命令——查看文件内容支持翻页 在查看的过程中&#xff0c;通过空格翻页&#xff0c;通过q退出查看...

WPF 如何让xmal的属性换行显示 格式化

WPF 如何让UI的xmal 按照下面的格式化显示 首先格式化显示在VS中的快捷键是 Ctrl &#xff2b;D 然后需要配置&#xff0c;工具 选项 -文本编辑器 -xmal -格式化-间距 更改成如下就可以了...

Linux学习之MySQL主从复制

MySQL配置一主一从 环境准备&#xff1a; 两台服务器&#xff1a; Master&#xff1a;192.168.88.53&#xff0c;Slave&#xff1a;192.168.88.54 在两台服务器上安装mysql-server # 配置主服务器192.168.88.53 # 启用binlog日志 [rootmysql53 ~]# yum -y install mysql-ser…...

【JavaSE笔记】抽象类与接口

一、抽象类 1、概念 在面向对象的概念中&#xff0c;所有的对象都是通过类来描绘的&#xff0c;但是反过来&#xff0c;并不是所有的类都是用来描绘对象的&#xff0c;如果一个类中没有包含足够的信息来描绘一个具体的对象&#xff0c;这样的类就是抽象类。 package demo2…...

详谈操作系统中的内核态和用户态

不知道大家有没有思考过这样一个问题:什么是处理器&#xff08;CPU&#xff09;的状态&#xff1f;&#x1f914; 其实CPU和人一样,没有执行程序的时候,是没有什么状态的,当它执行的程序是用户程序的时候就叫用户态&#xff0c;当执行的程序是操作系统的代码时就叫系统态或者内…...

OpenWrt KernelPackage分析

一. 前言 KernelPackage是OpenWrt用来编译内核模块的函数&#xff0c;其实KernelPackage后面会调用BuildPackage&#xff0c;这里会一块将BuildPackage也顺便分析&#xff0c;本文以gpio-button-hotplug驱动模块为例&#xff0c;讲解整个编译过程。 gpio-button-hotplug驱动编译…...

三步掌握Dark Reader:从入门到精通的护眼浏览解决方案

三步掌握Dark Reader&#xff1a;从入门到精通的护眼浏览解决方案 【免费下载链接】darkreader Dark Reader Chrome and Firefox extension 项目地址: https://gitcode.com/gh_mirrors/da/darkreader Dark Reader是一款能够为任何网站启用深色模式的浏览器扩展&#xff…...

手把手教你用Node.js和Bun配置Cursor AI与Figma的MCP通信(附完整避坑清单)

从零构建Cursor AI与Figma的MCP通信桥梁&#xff1a;Node.jsBun全链路配置指南 当设计工具与AI代码助手实现双向通信时&#xff0c;创意工作流将迎来革命性变化。本文面向具备Node.js基础的前端/全栈开发者&#xff0c;深入解析如何搭建Cursor AI与Figma间的MCP协议通信通道。…...

深度学习驱动的图像去雾:2023年最新算法与应用实践

1. 图像去雾技术的现状与挑战 清晨打开窗户&#xff0c;如果外面雾气弥漫&#xff0c;我们往往会等雾散了再拍照。但计算机视觉系统可没这个耐心——自动驾驶汽车必须实时看清路况&#xff0c;无人机巡检得在雾天正常工作。这就是图像去雾技术存在的意义。2023年&#xff0c;随…...

别再只盯着ODD了!从特斯拉FSD和华为ADS的实战,聊聊ODC(设计运行条件)到底怎么落地

从特斯拉FSD到华为ADS&#xff1a;ODC实战落地的工程密码 当特斯拉车主在暴雨天启动FSD时&#xff0c;系统会先检查挡风玻璃上的雨滴传感器数据&#xff1b;而华为ADS用户试图在未系安全带状态下激活系统&#xff0c;仪表盘会立即弹出红色警告——这些看似简单的交互背后&…...

Unity引擎开发过的VR大场景项目有哪些?用到的网络技术,资源处理及热更新方案有哪些

我梳理了Unity引擎开发的VR大场景代表性项目&#xff0c;并从网络技术、资源处理、热更新方案三个核心技术维度进行了详细分析。一、代表性VR大场景项目 1. 基于VR的数字孪生智慧城市平台 开发方&#xff1a;香港理工大学温州技术创新研究院技术特点&#xff1a;整合GIS地理信息…...

OpCore-Simplify终极指南:零代码自动化黑苹果EFI配置实战

OpCore-Simplify终极指南&#xff1a;零代码自动化黑苹果EFI配置实战 【免费下载链接】OpCore-Simplify A tool designed to simplify the creation of OpenCore EFI 项目地址: https://gitcode.com/GitHub_Trending/op/OpCore-Simplify 在macOS生态之外构建黑苹果系统&…...

AI智能体工作完整源码大公开!企业级多Agent框架,一键私有化部署

温馨提示&#xff1a;文末有资源获取方式最近“龙虾AI”的热度席卷技术圈&#xff0c;大家都在讨论如何“养殖”自己的智能体。但真正落地时&#xff0c;技术门槛、Token消耗与复杂的协同问题&#xff0c;往往让普通用户和企业望而却步。今天我们不谈概念&#xff0c;直接分享一…...

【Python张量计算实战宝典】:20年AI架构师亲授5大高频场景优化技巧,错过再等一年

第一章&#xff1a;张量计算基础与PyTorch/TensorFlow双框架选型指南张量是深度学习的核心数据结构&#xff0c;本质为多维数组&#xff0c;支持自动微分、GPU加速与动态/静态计算图构建。理解其内存布局&#xff08;如C-contiguous vs. Fortran-contiguous&#xff09;、广播机…...

PFC颗粒流代码模拟岩石预制裂隙与完整岩石单轴压缩对比分析

PFC颗粒流代码 pfc离散元岩石预制裂隙&#xff0c;裂隙岩石与完整岩石单轴压缩代码&#xff0c;可出各种裂隙形式&#xff0c;可分析应力应变曲线图&#xff0c;裂隙发育与数量&#xff0c;能量变化&#xff0c;简易声发射分析等做岩石单轴压缩离散元模拟的&#xff0c;谁没为…...

光储充系统实战笔记:当光伏遇到充电桩的硬核玩法

光储充交直流三相并网/离网系统 基于Matlab三相光伏储能充电桩&#xff08;光储充一体化&#xff09; 关键词&#xff1a;光伏大功率 储能 充电桩 LLC 电池 并网PQ控制 SPWM 恒压/恒流充电 提供两个仿真可对比看效果&#xff0c;如图一&#xff0c;二。 点击“加好友”可先看…...