Tạo Custom API khi chúng ta muốn tạo 1 API riêng mà không tạo ra 1 bảng trong database. Điều này thích hợp khi bạn muốn có những API xử lý riêng không liên quan lắm đến các Collection trong dự án Strapi.
Trong folder gốc, chạy lệnh:
npx strapi generate
Chọn dòng api - Generate a basic API để tạo và đặt tên cho API
Ở đây, mình sẽ tạo API tên là common
Đường dẫn: src/api/common/routes/common.js
module.exports = {
routes: [
{
method: 'POST',
path: '/commons',
handler: 'common.createSampleData',
config: {
policies: [],
middlewares: [],
},
},
],
};
Đường dẫn: src/api/common/controllers/common.js
'use strict';
/**
* common controller
*/
const { createCoreController } = require('@strapi/strapi').factories;
module.exports = createCoreController('api::common.common', ({ strapi }) => ({
async createSampleData(ctx) {
try {
ctx.send({
data: {
},
message: "Tạo thành công!"
}, 200);
} catch (err) {
ctx.body = err;
}
},
}));
Truy cập vào mục Role trong Trang quản trị và hiệu lực API cho từng Role mà bạn muốn. Nếu route chưa được enabled thì sẽ bị lỗi 403