Hello,
I can help you with that. Use the below logic to create custom API:
//.src/api/lpv-banner-data/routes/lpv-banner-data.js
'use strict';
const { createCoreRouter } = require('@strapi/strapi').factories;
const defaultRouter = createCoreRouter('api::lpv-banner-data.lpv-banner-data');
const customRouter = (innerRouter, extraRoutes = []) => {
let routes;
return {
get prefix() {
return innerRouter.prefix;
},
get routes() {
if (!routes) routes = innerRouter.routes.concat(extraRoutes);
return routes;
},
};
};
const myExtraRoutes = [
{
method: 'GET',
path:'/api-route',
handler:'api::lpv-banner-data.lpv-banner-data.fetchData'
}
];
module.exports = customRouter(defaultRouter, myExtraRoutes);
//.src/api/lpv-banner-data/controllers/lpv-banner-data.js
'use strict';
const { createCoreController } = require('@strapi/strapi').factories;
const moment = require("moment");
module.exports = createCoreController("api::lpv-banner-data.lpv-banner-data", ({ strapi }) => ({
async fetchData (ctx, next){
try{
const data = await strapi.service("api::lpv-banner-data.lpv-banner-data").fetchData();
ctx.send(data)
}
catch(err){
ctx.badRequest("Post report controller error", err);
}
}
}))
Then execute your API endpoint in the frontend.
await axios.get(`https://sitename/api/api-route`);
Hope this helps you and get you started ![]()