I am trying to pass multiple parameters to my api (Koa) via URL (from ReactJS using Axios) to post data to my db. This code is working, but I am wondering if there is an easier way to pass data instead of typing out each value to insert into the database?
I am adding an advising time to my db as such:
In ReactJs file:
axios.post(`/Advising/AddTime/${idValue}/${dayValue}/${startValue}/${endValue}/${timeValue}`)
In my Koa (node.js) file:
AdvisingRouter.post('/AddTime/:id/:day/:starttime/:endtime/:timeblock', AdvisingController.addTimes, (err) => console.log("routers.js: AdvisingRouter error:", err));
And lastly my controller:
class AdvisingController {
async addTimes(ctx) {
return new Promise((resolve, reject) => {
let query = "INSERT INTO AdvisingTimes (id, Day, StartTime, EndTime, TimeBlock) VALUES (?, ?, ?, ?, ?);";
console.log('About to run this query.', query);
dbConnection.query(
{
sql: query,
values: [ctx.params.id, ctx.params.day, ctx.params.starttime, ctx.params.endtime, ctx.params.timeblock]
}, (error) => {
if (error) {
return reject(error);
}
}
)
}).catch(err => {
ctx.body = {
status: "Failed",
error: err,
user: null
};
});
}