<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          推薦一個生成后端模擬數(shù)據(jù)的懶人工具:lazy-mock

          共 4413字,需瀏覽 9分鐘

           ·

          2020-09-24 10:07

          點擊上方藍(lán)色“程序猿DD”,選擇“設(shè)為星標(biāo)”

          回復(fù)“資源”獲取獨家整理的學(xué)習(xí)資料!

          作者 | 若邪

          來源 | https://juejin.im/post/6871592049485807630

          # 前言


          最近,發(fā)現(xiàn)一個比較好玩的東東,一個不需要 mock 并且匹配正則的接口直接轉(zhuǎn)發(fā)到后端地址的小工具。

          install

          yarn create @lowcoding/mock


          start

          yarn start


          mock server 默認(rèn)在本地 3000 端口啟動,訪問 http://localhost:3000/ 即可。


          lowcode-mock 默認(rèn)支持跨域,前端項目中可不必再配置代理,直接請求 lowcode-mock 起的服務(wù)即可。


          mock

          在 src\routes 目錄下新建一個 js 文件,將如下內(nèi)容復(fù)制進(jìn)去保存即可:

          import KoaRouter from 'koa-router'import proxy from '../middleware/Proxy'import { delay } from '../lib/util'let Mock = require('mockjs')let Random = Mock.Random
          const router = new KoaRouter()router.get('/your-mock-api', (ctx) => { ctx.body = '你的第一個mock接口'})module.exports = router

          使用 vscode 插件 yapi-code ,可直接根據(jù) JSON 數(shù)據(jù)或者 YAPI 接口定義自動生成 mock 接口以及 mock 數(shù)據(jù)。


          # 根據(jù) YAPI 生成 mock


          復(fù)制 YAPI 上接口 id ,比如 https://你的yapi地址/project/869/interface/api/14037 最后面的數(shù)字部分

          訪問創(chuàng)建的 mock 接口,即可拿到隨機(jī)的 mock 數(shù)據(jù):

          # 根據(jù) JSON 生成 mock


          復(fù)制 JSON 數(shù)據(jù),比如:

          通過 JSON 數(shù)據(jù)生成的 mock 接口需要手動修改路由地址。

          根據(jù)字段類型或字段名稱生成特定的 mock 數(shù)據(jù)


          配置 yapi-code


          配在 package.json 中即可

              "yapi-code.mockKeyWordLike": {        "icon": "Random.image('48x48')",        "img":"Random.image('48x48')",        "image":"Random.image('48x48')",        "code": "200&&number",        "name":"'模糊匹配后生成的mock'"    },    "yapi-code.mockKeyWordEqual": {        "message": "'這是一條精確的mock'",        "total": 200,    },    "yapi-code.mockString": "Random.cword(5, 6)",    "yapi-code.mockBoolean": "Random.boolean()",    "yapi-code.mockNumber": "Random.natural(100,1000)"

          根據(jù) json 數(shù)據(jù)

          const json = {    code: 100,    message: '請求成功',    result: {        list: [            {                code: '注意這是一個字符串的code',                name: '張三',                icon: '',                actived: false,            },        ],        total: 0,    },}


          生成如下代碼


          訪問 mock 接口即可拿到如下類似數(shù)據(jù):

             
          .get(`xxxxx`, async (ctx, next) => {        const list1 = []        for (let i = 0; i < 3; i++) {            list1.push({                code: Random.cword(5, 6),                name: '模糊匹配后生成的mock',                icon: Random.image('48x48'),                actived: Random.boolean(),            })        }        ctx.body = {            code: 200,            message: '這是一條精確的mock',            result: { list: list1, total: 200 },        }    })

          延時

             
          import KoaRouter from 'koa-router'import proxy from '../middleware/Proxy'import { delay } from '../lib/util'let Mock = require('mockjs')let Random = Mock.Random
          const router = new KoaRouter()router.get('/delay', (ctx) => { delay(3) // 3 秒后返回結(jié)果 ctx.body = 'delay'})

          可用于測 loading 效果。

          http 異常狀態(tài)碼

             

          router.get('/httpError', (ctx) => { ctx.status = 401 ctx.body = 'http 401'})

          代理

             

          router.get('/proxy', proxy('https://github.com/wjkang/lowcode-mock'), (ctx) => { ctx.body = 'https://github.com/wjkang/lowcode-mock'})

          來自 /proxy 的請求轉(zhuǎn)發(fā)到 https://github.com/wjkang/lowcode-mock/proxy ,用于后端接口可聯(lián)調(diào)的時候跳過本地 mock,轉(zhuǎn)發(fā)請求到后端接口。

          router.all(new RegExp('^/lowcode/mock/(|^$)'), proxy('https://github.com/wjkang/lowcode-mock'))

          不需要 mock 并且匹配正則的接口直接轉(zhuǎn)發(fā)到后端地址。


          # 源碼地址


          https://github.com/wjkang/lowcode-mock


          往期推薦

          Java 15 轉(zhuǎn)正了,國內(nèi)幾大互聯(lián)網(wǎng)公司均有貢獻(xiàn),其中騰訊最為突出!

          贈書:一本書帶你吃透Nginx應(yīng)用與運(yùn)維

          超全的 Linux Shell 文本處理工具集錦,快收藏

          MySQL中的InnoDB是怎么解決幻讀的?

          Redis為什么變慢了?常見延遲問題定位與分析



          我們在星球聊了很多深度話題,你不來看看?

          我的星球是否適合你?

          點擊閱讀原文看看我們都聊過啥?

          瀏覽 65
          點贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  五月天激情国产综合婷婷 | 成人黄色免费网站在线观看 | 黄色AⅤ电影勉费 | 夜夜看,夜夜爽 | 中文字幕在线播放第一页 |