2009-10-15 2 views

답변

1

레일즈가가는 한 다른 옵션은별로 없다고 생각합니다. Rails가 프레임 워크로서 이미 여러분을 위해 만든 모든 설계 결정과 합리적인 기본값에 맞서 싸울 것입니다.

라우팅, 경로 지정, 양식 등을 위해 제공된 모든 바로 가기를 생각해보십시오. RESTful이 아닌 구현에 더 많은 시간과 노력을 투자해야 할 것이라고 생각합니다.

1

먼저 정리해야 할 것은 REST가 실제로 의미하는 것입니다. 근본적으로 HTTP를 효율적이고 정확하게 사용하는 것입니다. 즉, GET 요청은 아무것도 수정하지 않으며, PUT 요청은 멱등 원 (idempotent)입니다. 유일하게 식별 된 자원의 개념은 이러한 최적의 HTTP 사용에서 벗어납니다. REST의 장점은 HTTP에서 프로그래밍 방식으로 최대한의 이점을 얻으므로 캐싱, 프록 싱 및 자동 재시도가 애플리케이션에 대한 지식 없이도 제대로 작동 할 수 있다는 점입니다. Dare Obasanjo는 멋진 rant on the topic of REST misunderstanding을 썼습니다. 이것은 HTTP를 영광스러운 전송 계층으로만 사용하는 중량이 많은 봉투 형식을 사용하는 SOAP와 크게 대조됩니다.

이제 레일즈 REST에 관해서는 전체적으로 주목할만한 일이있다. Rails REST는 사용자가 정의한 자원에 대해 CRUD 작업을 쉽게 정의 할 수 있도록 단순화 된 구워진 툴링 레이어입니다. 이러한 리소스는 ActiveRecord 모델과 일치 할 필요는 없으며 Rails 리소스 라우팅을 사용하는 것이 RESTful 애플리케이션을 디자인하기위한 필수 조건은 아닙니다. Rails가 제공하는 것은 CRUDable 리소스의 모델에 맞는 것들을 다루는 데 매우 편리한 기본값이지만 리소스 위에 추가 메서드를 정의하는 것을 망설이지 말고 그렇지 않은 페이지가있을 경우 리소스를 완전히 포기하지 않아야합니다. 정말 자원 (예 : 보고서)처럼 보입니다.

명심해야 할 결론은 하나가 아니라는 것입니다. Rails RESTful 헬퍼는 항상 레일스에 있었던 것과 동일한 프리미티브를 사용한다. 당신은 둘 다 함께 사용할 수 있으며 그들은 멋지게 jive.

관련 문제