2012-04-14 12 views
0

저는 꽤 많은 rest API를 개발하여 restlet을 사용했지만 웹 페이지를 제공해야합니다. 플레이 프레임 워크를 살펴본 결과 내 문제에 대한 꽤 좋은 해결책 인 것 같습니다. 공유 할 코드가 많아서 같은 서버/jvm에서 실행하고 싶습니다. (Heroku에서의 최종 배포를 위해함께 재생 및 함께 사용하기

부티크와 같은 응용 프로그램 서버를 구성하여 호출을 분할 할 수 있습니까? URL 경로에 따라 어느으로 Restlet로 이동하거나 재생? 내가 시작 마십시오 그렇다면 어떻게? 재생 프로젝트 또는으로 Restlet 프로젝트, 나는 그것을 수정 어떻게합니까?

감사합니다!

답변

1

을 몇 가지 옵션이 여기에 있습니다

  1. 앞선 아파치 레이어를 사용할 수 있습니다. r을 사용하여 Restlet 파트와 Play 파트를 완전히 분리 할 수 ​​있습니다. Heroku에 배포 할 때 Heroku가 http 계층을 제공하지 않으므로이 작업을 수행 할 수 있는지 확실하지 않습니다.

  2. HTTP 처리기를 수정하십시오. 여기에는 직접 모듈을 만들거나 Play의 핵심 소스를 수정하는 과정이 포함됩니다. 이것은 확실히 당신의 유스 케이스를 해결할 것이지만, 핵심을 수정하는 것은 대단한 대답이라고 생각하지는 않습니다. 그리고 모듈 접근법은 상당히 과잉입니다.

  3. Play 1.x를 사용하면 Restlet 서비스를 호출하는 모든 Restlet API에 대해 단일 컨트롤러 동작을 사용할 수 있습니다. Play 2.x에서는 Global 객체 onRouteRequest 메서드를 사용할 수 있습니다.

당신에게 Heroku 같은 PaaS를에 배포 생각하는 경우, 나는 당신의 대답을 옵션으로 3

+0

감사를 갈 것 같아! 두 가지 질문 : 1. 앱 서버 수준에서 무언가를 할 수있는 옵션이 있습니까? (jetty/netty/tomcat/whatever) 2. 옵션 3을 조금 봤는데 아이디어가 마음에 들지만 요청과 응답 객체를 재생에서 restlet에서 사용할 수있는 것으로 변환하는 방법은 없습니다. –

+0

1) 그것은 옵션 2가 무엇인지 꽤 있습니다. Netty는 http 핸들러를 노출합니다. 2) 나는 Restlet을 가지고 놀지는 않았지만, 이해한다면, 그것은 어플리케이션 서버의 불가지론 인 – Codemwnci

+0

Ah이다. 좋아, 내가 옵션 2를 잘못 이해 한 것 같아. 예, 레알릿은 앱 서버 agnostinc이지만, play.mvc.context와 play.mvc.Http.Request (onRequest와 action.call에서 사용 가능)에서 어떻게 이동하는지 아직 명확하지 않다. 그걸로 다시 연락해주세요. 그러나 나는 이것을 정확하게 표시하고 새로운 질문을 시작합니다. 대단한 답변에 다시 한 번 감사드립니다! –