Jsonserver模拟前后端请求(react项目实践)

前言

大家好 我是歌谣 今天应中间方的要求 写接口之前先用json server模拟数据格式 一开始觉得是比较麻烦的东西 但是用了之后发现是真的好

安装命令

npm install -g Json-server

执行命令加端口

json-server --watch db.json --port 5000

模拟五个json接口

db.json

```

{ "produceText": [ { "po": "1000", "id": 1 }, { "id": 2, "code": "WF230146", "styleId": 2, "styleNumber": "G15661", "registerDate": "2023-04-24 18:50:10", "po": "2" }, { "id": 3, "code": "WF230147", "styleId": 3, "styleNumber": "B30131012", "registerDate": "2023-04-24 18:50:10", "po": "2" }, { "id": 4, "code": "WF230148", "styleId": 4, "styleNumber": "6021", "registerDate": "2023-04-24 18:50:10", "po": "2" }, { "id": 5, "code": "WF230148", "styleId": 4, "styleNumber": "6021", "registerDate": "2023-04-24 18:50:10", "po": "2" }, { "id": 6, "code": "WF230145", "styleId": 1, "styleNumber": "002", "registerDate": "2023-04-24 18:50:10", "po": "2" }, { "id": 7, "code": "WF230146", "styleId": 2, "styleNumber": "G15661", "registerDate": "2023-04-24 18:50:10", "po": "2" }, { "id": 8, "code": "WF230147", "styleId": 3, "styleNumber": "B30131012", "registerDate": "2023-04-24 18:50:10", "po": "2" }, { "id": 9, "code": "WF230148", "styleId": 4, "styleNumber": "6021", "registerDate": "2023-04-24 18:50:10", "po": "2" }, { "id": 10, "code": "WF230148", "styleId": 4, "styleNumber": "6021", "registerDate": "2023-04-24 18:50:10", "po": "2" }, { "id": 11, "code": "WF230148", "styleId": 4, "styleNumber": "6021", "registerDate": "2023-04-24 18:50:10", "po": "2" }, { "id": 12, "code": "WF230148", "styleId": 4, "styleNumber": "6021", "registerDate": "2023-04-24 18:50:10", "po": "2" }, { "id": 13 } ], "produceTextDetail": [ { "165": "1", "170": "2", "175": "1", "180": "1", "materalId": "1", "materalName": "领子", "fileName": "面料-1.44M-175", "fileId": "领子", "time": 2, "status": "是", "width": "2", "mark": "7" }, { "165": "1", "170": "2", "175": "1", "180": "1", "materalId": "1", "materalName": "领子", "fileName": "面料-1.44M-175", "fileId": "领子", "time": 2, "status": "是", "width": "2", "mark": "7" }, { "165": "1", "170": "2", "175": "1", "180": "1", "materalId": "1", "materalName": "领子", "fileName": "面料-1.44M-175", "fileId": "领子", "time": 2, "status": "是", "width": "2", "mark": "7" }, { "165": "1", "170": "2", "175": "1", "180": "1", "materalId": "1", "materalName": "领子", "fileName": "面料-1.44M-175", "fileId": "领子", "time": 2, "status": "是", "width": "2", "mark": "7" } ], "StyleNumberList": [ { "id": 1, "name": "002" }, { "id": 2, "name": "G15661" }, { "id": 3, "name": "B30131012" }, { "id": 4, "name": "6021" } ], "MatuDataList": [ { "id": 1, "name": "WF230145" }, { "id": 2, "name": "WF230146" }, { "id": 3, "name": "WF230147" }, { "id": 4, "name": "WF230148" } ], "MatrialList": [ { "id": 1, "name": "面布",

"children": []
},
{
  "id": 2,
  "name": "面料1",

  "children": []
},
{
  "id": 3,
  "name": "面料2",

  "children": []
},
{
  "id": 4,
  "name": "面料3",

  "children": []
}

], "FileDataList": [ { "id": 1, "name": "5622-1345", "flag": true }, { "id": 2, "name": "5622-1346", "flag": true }, { "id": 3, "name": "5622-1347", "flag": true }, { "id": 4, "name": "5622-1348", "flag": true } ] } ```

运行结果

在这里插入图片描述

质疑

1.跨域问题 (后来验证没有) 2修改问题 (根据id修改)

下一步

直接加入axios

``` import axios from "axios"; // 引入axios const instance = axios.create({ baseURL: "http://localhost:5000", timeout: 60000, }); // 请求拦截器 instance.interceptors.request.use( function (config) { console.log("发请求之前", config); return config; }, function (error) { console.log("请求错误", error); return Promise.reject(error); } ); // 响应拦截器 instance.interceptors.response.use( function (response) { console.log("得到的响应数据", response); return response; }, function (error) { console.log("响应错误", error); return Promise.reject(error); } ); // get请求 export function get(url, data = {}) { console.log(data, "datattattata"); return new Promise((resolve, reject) => { instance .get(url, { params: data, }) .then((response) => { resolve(response); }) .catch((err) => { reject(err); }); }); } // post请求 export function post(url, data = {}) { return new Promise((resolve, reject) => { instance.post(url, data).then( (response) => { resolve(response.data); }, (err) => { reject(err); } ); }); }

```

``` import {get,post} from "../request" import {returnMsg } from "../return"

export const UserLogin = data => post('/pda/login', data) //查询任务界面 export const getLayData = async data => await returnMsg(get('/pda/selectPDAAuth', data))

export const ProduceText = async data => await returnMsg(get('/produceText', data))

export const produceTextDetail = async data => await returnMsg(get('/produceTextDetail', data))

export const StyleNumberList = async data => await returnMsg(get('/StyleNumberList', data))

export const MatuDataList = async data => await returnMsg(get('/MatuDataList', data))

export const MatrialList = async data => await returnMsg(get('/MatrialList', data))

export const FileDataList = async data => await returnMsg(get('/FileDataList', data))

```

修改

axios.put(`http://localhost:5000/produceText/${info.id}`, { po: form.getFieldValue("po") }).then(res => { console.log('修改成功') props.onConfirm(); })

模拟查询

在这里插入图片描述

总结

可以快速的增删改查接口 秀啊

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值