Home > front end >  Parsing Axios URL Param to String Array in ExpressJS
Parsing Axios URL Param to String Array in ExpressJS

Time:06-22

Sending a GET Request with axios:

await this.client.get('/endpoint', { params: { query: ['max', 'kevin'] } })

Results in a URL looking like this

Request GET /endpoint?query[]=max&query[]=kevin

How can I parse this to a string array?

Bonus points if someone knows how to check it in express-validator for format!

CodePudding user response:

You can turn the array to string with to toString:

await this.client.get("/endpoint", {
  params: { query: ["max", "kevin"].toString() },
});

This will change the URL to:

/endpoint?query=max,kevin

Then in the express-validator you can validate the array items with wildcard:

req.check('query.*').isLength({ max: 30 })
  • Related