코드를 중복해 넣지 않고, 한 번만 구현한 다음 여러 라우트에 쉽게 적용하는 방법이 있습니다. 바로 미들웨어를 만드는 것입니다. posts.ctrl.js의 코드 상단에 다음 미들웨어를 작성해 주세요.
src/api/posts/posts.ctrl.js
import Post from '../../models/post'; import mongoose from 'mongoose'; const { ObjectId } = mongoose.Types; export const checkObjectId = (ctx, next) => { const { id } = ctx.params; if (!ObjectId.isValid(id)) { ctx.status = 400; // Bad Request return; } return next(); }; (...)