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。(暂时不知缘由)

  • 相关阅读:
    PHP form 表单传参明细研究
    php返回数据库查询时出现Resource id #2
    AJAX避免服务器调用上个页面缓存的办法
    错误提示sudo: no tty present and no askpass program specified Sorry, try again.
    lua创建文件和文件夹
    ngx.lua中遇到的小问题2
    [Puzzle] 蚂蚁路线碰撞问题
    [问题记录] 操作符连写
    [工具] XMind
    Qt Creator快捷键
  • 原文地址:https://www.cnblogs.com/smilexumu/p/10598604.html
Copyright © 2011-2022 走看看