Performing a PATCH request in Vodapay Mini-Programs

Viewed 76

I am working on a Vodapay mini-program and would like to know if it is possible to perform a PATCH request using my.request?

1 Answers

You cant perform PATCH requests using my.request.It only supports GET/POST. You can read a about it on the docs here.

You could try overriding the method using X-Method-Override header. This basically tells the server Hey, I know its a POST. But could you use Patch Instead?.

This may need some additional config on your backend. I had to use the method-override package for express.js.

Mini App:

my.request({
  url: 'http://localhost:3000',
  headers: {
    'x-method-override': 'PATCH',
    'content-type': 'application/json'
  },
  method: 'POST',
  complete: (res) => {
    console.log(res);
  }
});

express.js backend :

const express = require('express')
const methodOverride = require('method-override')

const PORT = process.env.PORT || 3000;
const app = express();

app.use(express.json())
app.use(methodOverride('x-method-override'))

app.get('/', (req, res)=>{
    res.send('in get')
})

app.post('/', (req, res)=>{
    res.send('in post')
})

app.patch('/', (req, res)=>{
    res.send('in patch')
})

app.listen(PORT);
Related