【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。(暫時不知緣由)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM