點燈坊

失くすものさえない今が強くなるチャンスよ

模擬 RESTful POST

Sam Xiao's Avatar 2021-05-21

RESTful Post 亦為實務上都會碰到的 API,這種 API 該如何 Mock 呢 ?

Version

MSW 0.28.2

API Function

api/login.js

import axios from 'axios'

export default body => axios.post('/login', body)

使用 axios.post() 呼叫 API。

Mock Function

mock/login.js

import { rest } from 'msw'

export default rest.post('/login', (req, res, ctx) => {
  let { id, password } = req.body
  
  return res(
    ctx.status(200),
    ctx.json({
      id,
      password
    })
  )
})

第 3 行

export default rest.post('/login', (req, res, ctx) => {

改用 rest.post() mock API。

第 4 行

let { id, password } = req.body

req.body 解構出 body 內資料。

Conclusion

  • 透過 req.body 可解構出 body 內資料,進而根據 body 可回傳不同資料