2016년 7월 31일 일요일

Meteor REST API 미립자 팁 - 404 처리하기

Meteor 를 쓰다보면 너무 편해서 그냥 단순 REST API 서버도 Meteor 로 만들고 싶을 때가 있다.
WebApp package는 connect 객체를 갖고 있기 때문에 필요한 라우팅을 해준 뒤

  WebApp.connectHandlers
  .use('/hey', (req,res)=> res.end('hey handler'))
  .use('/may', (req,res)=> res.end('may handler'))
  .use((req,res)=> res.statusCode = 404 && res.end('404 not found'));

이와 같이 마지막에 모든 request에 대해 처리해주면 된다.
만일 Picker(https://github.com/meteorhacks/picker) 같은 패키지를 사용할 경우 내부적으로 path-to-regexp npm package를 사용하므로 맞게 수정해줄 필요가 있다.

Picker.route('/hey', (params,req,res)=> res.end('hey picker'));
Picker.route('/(.*)', (params,req,res,next)=> res.statusCode = 404 && res.end('404 not found'));

역시 Meteor는 REST API 서버로만 써도 완전 꿀이다.