json-server单独使用或者在react中进行使用

news2024/11/27 22:26:21

json-server

  • json-server使用教程
    • 修改json-server端口号启动
    • 1、全局安装json-server
    • 2、在根目录生成一个db.json
    • 3、启动 访问
  • react中进行使用
    • react中修改json-server启动端口号
    • 1、 第一步也是安装,和第一种一样
    • 2、在根路径下定义一个__json_server_mock__文件夹
    • 3、在react中进行编辑
    • 4、启动 运行
  • 增删改查
    • 1.接口规则-RESTful
    • 2.以axios作为增删改查请求
    • **实例代码**
  • **如有问题请联系小编,及时进行更改**

json-server使用教程

修改json-server端口号启动

json-server --watch db.json --port 3004

1、全局安装json-server

安装:npm i json-server -g

2、在根目录生成一个db.json

在json文件中定义以下类型

{
    "list": [
        {
            "id": 1,
            "name": "吃饭",
            "flag": false
        },
        {
            "id": 2,
            "name": "睡觉",
            "flag": true
        },
        {
            "id": 3,
            "name": "打豆豆",
            "flag": true
        }
    ],
    "login":{
        "username":"admin",
        "password":"123456"
    }
}

3、启动 访问

启动json-server: json-server --watch db.json

访问抛出的接口就能够在浏览器中获取
在这里插入图片描述

react中进行使用

react中修改json-server启动端口号

yarn run json-server --port 3004 

1、 第一步也是安装,和第一种一样

2、在根路径下定义一个__json_server_mock__文件夹

在该文件夹下定义db.json文件
在这里插入图片描述

3、在react中进行编辑

在package.json中的script 添加"json-server":
"json-server __json_server_mock__/db.json --watch"

4、启动 运行

npm run json-server \ yarn run json-server

增删改查

1.接口规则-RESTful

目标:了解一种接口定义规范resetful

接口规范:如何定义接口地址,请求方式,传参方式,对应不同的请求操作行为。
具体规则

接口地址请求方式操作行为
/listGET查询所有列表
/list/:idGET查询单个详情 /list/1
/listPOST添加,提交的参数在请求体
/list/:idDELETE删除 /list/1
/list/:idPUT修改 /list/1 + 请求体{name,cTime} 全部修改
/brands/:idPATCH修改 /brands/1 + 请求体{name} 个别修改

查询的时候还有一下规则:

  • 1、http://localhost:3000/db 访问的是db.json文件下的所有内容;
  • 2、http://localhost:3000/layoutList?categoryName= 模拟接口参数可筛选该目录下内容
  • 3、分页查询 参数为 _start, _end, _limit,并可添加其它参数筛选条件
    如:http://localhost:3000/posts?_start=6&_limit=3
    http://localhost:3000/posts?_start=3&_end=6
  • 4、排序 参数为_sort, _order
    如:http://localhost:3000/posts?_sort=id&_order=asc
    http://localhost:3000/posts?_sort=user,views&_order=desc,asc
  • 5、操作符 _gte, _lte, _ne, _like
    _gte大于,_lte小于, _ne非, _like模糊查询
  • 6、q全局搜索(模糊查询)

这个表格可以作为接口调用的参考。

2.以axios作为增删改查请求

axios的使用:

  • 查询所有

  • 查询单个

  • 添加操作

  • 删除操作

  • 修改操作

实例代码

<!DOCTYPE html>
<html lang="en">
 
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>
 
<body>
 
  <script src="./axios.min.js"></script>
  <script>
      // - 查询所有
     axios.get('http://localhost:3000/list').then(res=>{
         // res 响应报文对象(响应状态行+响应头+响应主体)
        // res.data 就是响应主体(返回的数据)
         console.log(res.data)
       }).catch(err=>{
        // 错误对象
         console.log(err)
       })
 
 
      // - 查询单个
     axios.get('http://localhost:3000/list/2').then(res=>{
         console.log(res.data)
      }).catch(err=>{
         console.log(err)
       })
 
 
 
      // - 添加操作
      // 第二个参数:请求体传参对象
      axios.post('http://localhost:3000/list',{
        name: '奥拓',
         flag: '干饭人'
       }).then(res=>{
         console.log('添加成功')
       })
 
 
 
      // - 删除操作
      axios.delete('http://localhost:3000/list/4').then(res=>{
        console.log('删除成功')
      })
 
 
 
      // - 修改操作
      // 第二个参数:请求体传参对象
      axios.patch('http://localhost:3000/list/3',{
         name: '奥拓'
       }).then(res=>{
        console.log('修改成功')
       })
 
       axios.put('http://localhost:3000/list/3',{
        name: '奥迪'
       }).then(res=>{
         console.log('修改成功')
      })
 
      // - 带查询参数
      // 1. 自己手动在地址栏拼接?后的键值对  ?id=2&name=宝马
      // 2. 可以传对象提交多个筛选条件 
      // 3. get()中第二个参数可以用来提交参数对象  {params:{更多筛选条件}}
 
 
      // json-server提供模糊查询  字段_like
      axios.get('http://localhost:3000/list',{
        params:{
          name_like: '奥'
        }
      }).then(res=>{
        console.log(res.data)
      }).catch(err=>{
        console.log(err)
      })
 
  </script>
</body>
 
</html>

如有问题请联系小编,及时进行更改

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/402482.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

怎么合并或注销重复LinkedIn领英帐号?

您可能会发现您拥有多个领英帐户。如果您收到消息&#xff0c;提示您尝试使用的邮箱与另一个帐户已绑定&#xff0c;就表明您可能存在重复的领英帐户。如果您使用许多不同的邮箱地址&#xff0c;也可能会收到这样的提示。 领英精灵温馨提示: 目前&#xff0c;仅支持在 PC 端合并…

设置基站IP设置基站连接服务器

一、基站状态指示灯 基站正常连接上服务器&#xff0c;基站指示灯如下&#xff0c;第一个灯是电源指示灯常亮&#xff1b;第二个灯为运行指示灯&#xff0c;程序正常运行第二个灯一直闪烁&#xff1b;第三个灯为为网络指示灯&#xff0c;网络连接正常会常亮&#xff0c;网络不…

SQL注入进阶练习(一)一些进阶的注入方法

SQL注入进阶练习1. 二次注入1.1 概念1.2 sqllabs less-241.2.1 利用示例1.2.2 原理剖析1.3 网鼎杯2018 二次注入1.3.1 环境搭建1.3.2 解题思路1.3.2.1 寻找源码 - git泄露数据恢复1.git是啥2.获取源码泄露的数据1.3.2.2 源码分析1.3.2.3 爆破登陆密码1.3.2.4 实施二次注入获取f…

C/C++指针与数组(二)

数组与运算符*、&和[]&#xff0c;行指针和列指针的概念 一、一维数组 #include<iostream> int main(int argc, char *argv[]) {int a[5] { 1, 2, 3, 4, 5 };std::cout << "a : " << a << "\t\t&a[0]: " << &a…

day23_关键字static丶代码块丶native关键字

static关键字 static是静态的意思&#xff0c;可以用来修饰成员变量、成员方法&#xff1a; 修饰成员变量 我们称为类变量&#xff0c;或静态变量&#xff0c;&#xff08;类变量&#xff1a;属于类、加载一次&#xff0c;内存中只有一份&#xff09;可以被类的所有对象共享…

windows+Anaconda环境下安装BERT成功安装方法及问题汇总

前言 在WindowsAnaconda环境下安装BERT&#xff0c;遇到各种问题&#xff0c;几经磨难&#xff0c;最终成功。接下来&#xff0c;先介绍成功的安装方法&#xff0c;再附上遇到的问题汇总 成功的安装方法 1、创建虚拟环境 注意&#xff1a;必须加上python3.7.12以创建环境&a…

C语言运算符优先级以及记忆方式

C语言运算符优先级 C语言中运算符的优先级从高到低如下&#xff1a; 一元运算符&#xff1a;! – &#xff08;正数&#xff09;-&#xff08;负数&#xff09;& &#xff08;取地址&#xff09;*&#xff08;指针值&#xff09; 乘除模运算符&#xff1a;* / % 加减运…

2023年系统集成项目管理工程师【计算要点和常用公式】

一、常用缩写缩写含义PV计划费用AC实际费用EV挣值SV进度偏差CV成本偏差SPI进度绩效指数CPI成本绩效指数BAC完工预算EAC完工估算ETC完工尚需估算VAC完工偏差EMV预期货币价值分析EVA挣值分析EVM挣值管理CPM关键路径法二、主要公式1. 成本管理计算内容公式要点成本偏差 CVCVEV-AC&…

Spring Cloud (Consul注册、发现)

操作步骤&#xff1a; 安装Consul服务端在服务内添加客户端依赖修改配置类&#xff0c;添加注解编写yml文件一、安装Consul服务端 链接&#xff1a;https://www.consul.io/downloads.html&#xff0c;解压 开启cmd&#xff0c;进入你的Consul解压路径&#xff0c;我是在E盘 …

JVM篇之类加载机制

目录JVM篇之类加载机制类加载过程1.加载2.验证3.准备4.解析5.初始化类加载器类的加载双亲委派模型JVM篇之类加载机制 类加载过程 JVM类的加载过程分为五个部分&#xff1a;加载&#xff0c;验证&#xff0c;准备&#xff0c;解析&#xff0c;初始化&#xff0c;其中验证&#…

通用数据类型链表C语言实现

通用链表是一种动态内存分配的数据结构&#xff0c;其中每个节点包含一个指向下一个节点的指针和一个指向任意类型数据的指针。因此&#xff0c;通用链表可以容纳任意类型的数据&#xff0c;这是其与其他数据结构不同的地方。 通用链表的实现可以分为以下几个步骤&#xff1a;…

《百万在线 大型游戏服务端开发》前两章概念笔记

第1章 从角色走路说起 游戏网络通信的流程则是服务端先开启监听&#xff0c;等待客户端的连接&#xff0c;然后交互操作&#xff0c;最后断开。 套接字 每个Socket都包含网络连接中一端的信息。每个客户端需要一个Socket结构&#xff0c;服务端则需要N1个Socket结构&#xff…

直击2023云南移动生态合作伙伴大会,聚焦云南移动的“价值裂变”

作者 | 曾响铃 文 | 响铃说 2023年3月2日下午&#xff0c;云南移动生态合作伙伴大会在昆明召开。云南移动党委书记&#xff0c;总经理葛松海在大会上提到“2023年&#xff0c;云南移动将重点在‘做大平台及生态级新产品&#xff0c;做优渠道转型新动能&#xff0c;做强合作新…

利用canvas给图片添加水印

前言前两天给个人网站添加了一个小功能&#xff0c;就是在文章编辑上传图片的时候自动给图片加上水印。给网页图片添加水印是个常见的功能&#xff0c;也是互联网内容作者保护自己版权的方法之一。本文简单记录一下借助canvas在前端实现图片添加水印的实现方法。canvas元素其实…

学python的第七天---基础进阶

一、数组翻转写法一&#xff1a;myselfa[:size]a[:size][::-1]写法二&#xff1a;函数写法三&#xff1a;二、复制数组写法一:写法二&#xff1a;写法三&#xff1a;三、最小公倍数写法一&#xff1a;写法二&#xff1a;写法三&#xff1a;gcd写法四&#xff1a;其他&#xff1…

visual studio 2019创建一个项目的详细步骤

引言&#xff1a;本着边学边记录的原则&#xff0c;把学习的过程给记录下来&#xff0c;自己回顾的同时也分享给大家&#xff0c;转载请注明出处哈。 1、首先在桌面上双击打开visual studio 2019&#xff0c;看到如下界面&#xff1a; 2、点击1红框中的创建新项目&#xff0c;…

[hive]执行计划

https://www.bilibili.com/video/BV1g84y147sX/?p126&spm_id_from333.1007.top_right_bar_window_history.content.click&vd_source51f694f71c083955be7443b1d75165e0一、概述Explain呈现的执行计划&#xff0c;由一系列Stage组成&#xff0c;这一系列Stage具有依赖关…

Easy Deep Learning——全连接层

什么是全连接层?它的作用是什么? 我们还是回到之前的草地场景中,假设现在的问题变成让机器判断该草地上是不是有一只猫存在,由于之前做的卷积操作,将草地分成了许多网格,如果场地上只有一只猫,那么只有一个网格是有猫的,而其他的网格都不存在猫,一个卷积核运算可以得到…

java-泛型介绍

介绍 泛型是jdk5的时候出现的一种特性&#xff0c;可以在编译阶段约束操作的数据结构&#xff0c;并进行检查。 泛型只能用引用数据类型&#xff0c;如果是基本数据类型得使用包装类。 如ArrayList中的toArray(T[] a),是不可用转换为int[]的只能转换为Integer[] 好处 统一了…

Mysql的数据存储

Mysql的数据存储 对于mysql而言&#xff0c;数据是存储在文件系统中的&#xff0c;不同的存储存储引擎会有不同的文件格式和组织形式 1、InnoDB数据存储 InnoDB存储格式由大到小&#xff1a;表空间 → 段 → 区 → 页 → 行 对于innodb而言&#xff0c;数据是存储在表空间&…