zoukankan      html  css  js  c++  java
  • 【Api】easy-mock在线api

    解决

    在使用easy-mock模拟post提交数据的情况中,我们有时需要对提交的数据进行简单逻辑处理。
    查阅文档发现可以使用"_req.body.keyname"来获取相应的值,但是在对演示项目进行预览操作时发现,容易出现undefined或Bad Request值。

    文档中提到“当 post 请求以 x-www-form-urlencoded 方式提交时,我们可以拿到请求的参数对象”,经过多次尝试发现按照参考文档,在header中配置content-type项,目前无法正常操作。

     ①接口配置->更新

    {
      code: function({
        _req
      }) {
        if (_req.body.userName === 'admin' && _req.body.password === '123456') {
          return 200
        } else {
          return 500
        }
      },
      data: function({
        _req
      }) {
        if (_req.body.userName === 'admin' && _req.body.password === '123456') {
          return {
            name: "admin",
            access: ["admin"],
            user_id: "2",
            token: "admin",
            avatar: "https: //avatars0.githubusercontent.com/u/20942571?s=460&v=4"
          }
        } else {
          return "登录账号不对" + _req.body.userName
        }
      }
    }
    View Code

    ②请求接口->post参数请求

    {
    "userName":"admin",
    "password":"123456"
    }
    View Code

    ③iView-admin中axios设置post参数为@ResponseBody(从请求体中取参数)

    解决如下:src->libs->axios.js中 引入qs (使用qs 库对数据进行转换)

    .
    .
    // 引入qs,若无,先npm install qs
    import qs from 'qs'
    .
    .
    // 修改request函数
    request (options) {
      .
      .
      if(options.data) options.data=qs.stringify(options.data)
      .
      .
    }
    View Code

    这样,请求体以Form Data形式post提交

    备注: easy-mock上登录请求api最好不以login命名,无法返回data。(暂时不知缘由)

  • 相关阅读:
    sass安装与使用
    前端兼容性问题
    springboot项目数据库错误记录
    C#实现微信聊天对话框
    关于html的多行匹配,正则re.S的使用(爬取豆瓣电影短评)
    判断网页能否打开?python
    利用python爬取点小图片,满足私欲(爬虫)
    ajax加载时的进度条
    java 发送微信客服消息
    Fastjson Mysql JDBC 反序列化
  • 原文地址:https://www.cnblogs.com/smilexumu/p/10598604.html
Copyright © 2011-2022 走看看