2009-08-08 2 views
2

같은 레일에 API를 지정하기위한 레일의 API를 정의하는 보석/플러그인이 있나요?플러그인 선언적 장고 - 피스톤

나는 당신이 "편안하고 경로"를 가지고 컨트롤러 액션에서 다른 형식으로 렌더링 할 수 알지만, 더 만능 솔루션을 찾고 포함하지만 다음은에 한정하고 있지 않다 :

내가 좋아하는 것 노출시킬 모델을 선언하는 것 (임의의 리소스도 선언 할 수 있지만 모델이 모델에 매핑되면 컨벤션을 도와야 함), 사용할 수있는 필드와 데이터 배치 방법, 어떤 종류의 인증/권한 부여가 필요한지 어떤 리소스/작업, 어떤 종류의 조절을 원하는지. 또한 서로 다른 형식으로 자동으로 출력 자원 (모든 템플릿을 필요없이) 쉬운 방법이 있고, webhooks 및/또는 PubSubHubBub뿐만 아니라 효율적인 캐싱을 통해 스트리밍 및 알림을 제공 할 것이다.

적으로는, 내가이도 ActionController을 필요로하지 않고 액티브 위에 앉아있을 수 있었다, 그래서 나는 작은, API 전용 응용 프로그램을 가질 수 있습니다.

나는 장고에 대해 django-piston이라고 불리는이 줄을 따라 뭔가 알고 있지만, 나는 그것을 직접 사용하지 않았고 위의 내용 중 어느 정도를 다루고 있는지 잘 모르겠습니다.

레일이 같은 일이 있나요? 아니면 내가 왜 이걸 원했을 까? (그리고 왜?) 대신 바닐라 레일즈와 소수의 플러그인 (이 중 어떤 것)으로이 필요성을 채워야 하는가?

+0

"레일스 + 플러그인 만 사용해야합니다"측면에서이 접근 방법에 대한 훌륭한 글을 발견했습니다. http : // 당신의 API가 단지 진입 점 URI 이상 포함 된 경우 www.codesopretty.com/rails/plugin-synergy-for-rails-powered-apis/ – hsribei

+0

, 그것은 REST되지 않습니다. REST API는 미디어 유형 만 설명합니다. 엔드 포인트 URI는 하이퍼 텍스트를 통해 검색 가능해야합니다. 이것이 원하는 것이 아니라면 괜찮습니다. 그러나 그것이 의미하는 바가 아니라면 "REST"라는 용어를 사용하지 마십시오. – aehlke

답변

0

CloudKit는 해결책이 될 수 있습니다. 아직 많이 들여다 보지는 않았지만 웹 사이트에서 보았습니다.

# Build an API like this 
require 'cloudkit' 
expose :notes, :projects 
+0

아니 내가 정말로 찾고 있었어. CoudKit은 HTTP 프론트 스토리지에 가깝습니다. 그것의 부분은 도울 수 있었다. – hsribei