const Router = require('koa-router');
const api = new Router();
api.get('/test', ctx => {
ctx.body = 'Test Successed'
});
// 🌟 라우터 내보내기
module.exports = api;
...
const api = require('./api');
...
// 라우터 설정
router.use('/api', api.routes()); // api 라우트 적용
...
const Router = require('koa-router');
const posts = new Router();
const printInfo = ctx => {
ctx.body = {
method : ctx.method,
path : ctx.path,
params : ctx.params,
}
}
posts.get('/', printInfo);
posts.post('/', printInfo);
posts.get('/:id', printInfo);
posts.delete('/:id', printInfo);
posts.put('/:id', printInfo);
posts.patch('/:id', printInfo);
module.exports = posts;
// src/api/index.js
const Router = require('koa-router');
const posts = require('./posts');
const api = new Router();
api.use('/posts', posts.routes());
module.exports = api;
router.get('/' ctx => { });
터미널> yarn add koa-bodyparser
// src/index.js
...
const bodyParser = require('koa-bodyparser');
...
// 🌟 라우터 적용 전에 bodyParser 적용
app.use(bodyParser());
// app 인스턴스에 라우터 적용
app.use(router.routes()).use(router.allowedMethods());
...
const 모듈이름 = require('파일이름');
모듈이름.이름();
// src/api/posts/index.js
const Router = require('koa-router');
const postsCtrl = require('./posts.ctrl');
const posts = new Router();
posts.get('/', postsCtrl.list);
posts.post('/', postsCtrl.write);
posts.get('/:id', postsCtrl.read);
posts.delete('/:id', postsCtrl.remove);
posts.put('/:id', postsCtrl.replace);
posts.patch('/:id', postsCtrl.update);
module.exports = posts;
일부 API 요청에 Request Body가 필요한데, 이는 Postman의 Body부분에서 넣어줄 수 있음
추가적으로 수정 작업에 사용되는 PUT은 전체 대치, PATCH는 일부 수정 역할을 하는데,
현 상태에서 PUT에 필요한 정보를 전체 다 입력하지 않아도 그대로 수정이 되는 허점이 있음
이는 검증 작업이 필요!!
많은 도움이 되었습니다, 감사합니다.