입력:23/02/23수정:24/03/21
middy route 용례
yarn add @middy/http-router @middy/http-header-normalizer
import httpHeaderNormalizer from '@middy/http-header-normalizer'
import httpRouterHandler, { Method } from '@middy/http-router'
import middy from '@middy/core'
const routes = [
/* investor */
{
method: 'GET',
path: '/endpoint/user',
handler: middy().use().handler(getDomesticListApiHandler),
},
/* stage별로 문기하기 */
{
method: 'GET',
path: '/{stage}/endpoint/domestic',
handler: middy().use().handler(getDomesticListApiHandler),
},
]
export const handler = middy()
.use(httpHeaderNormalizer())
.handler(httpRouterHandler(routes))
.before(async () => { })
.after(async () => { })
.onError((request) => {
//매칭 안될 경우에 대비해서 에러 리턴
if (request?.error?.message == 'Route does not exist') {
request.response = {
statusCode: 400,
body: 'No Matching Resource',
headers: {
'Content-Type': 'text/plain',
},
}
} else if (request.error && !request.response) {
// Report unhandled
request.response = {
statusCode: 500,
body: 'An unhandled internal error occurred.',
headers: {
'Content-Type': 'text/plain',
},
}
}
})