2010-04-23 2 views
3

이것은 기본적인 질문처럼 보입니다. 그러나 많은 검색을 한 후에 나는 간단한 설명을 찾을 수없는 것 같습니다.RESTful API 컨트롤러를 "일반"컨트롤러와 분리해야합니까?

웹 브라우저를 통해 주로 액세스 할 웹 응용 프로그램을 구축한다면 하지만 두 API 사이에 큰 분리가 있어야 RESTful 방식으로 일부 API 요청을 지원할 것입니다.

다른 한편으로는 (HTML 대 XML/JSON) 동일한 데이터가 다른보기에 표시되어 많은 양의 기능이 동일 해 보입니다. 그러나 다른 한편으로는, 브라우저에 제시해야 할 것들이 있습니다. RESTful 접근 방식에 적합하지 않습니다 : 빈 폼을 만들어서 리소스의 새로운 인스턴스를 만드는 방법과 미리 채워진 폼을 얻는 방법 기존 자원을 편집합니다.

다른 컨트롤러를 통해 시스템에 액세스하는 두 가지 다른 방법을 사용해야합니까? 같은 컨트롤러의 다른 메소드? 뷰 유형에 대한 스위치가있는 동일한 메소드가 있습니까?

답변

0

코어 컨트롤러를 변경할 필요는 없지만 UI를 지원하기 위해 추가 컨트롤러를 추가 할 수는 없습니다. 예를 들어, 양식 예 둘 다 웹 API에 고유 할 수 있습니다. 엔트리 URI는 기계와 사용자 인터페이스 모두에 대한 페이지에 대한 링크를 확실히 가질 수 있습니다. 기계 사용자가 실제 사용하려고하지는 마십시오.

또한 컴퓨터 클라이언트가 단순히 XML/JSON 인 경우 해당 표현은 사용하지 않고 양식에 대한 링크가 전혀 필요하지 않으며 JSON/어쨌든 XML. Content negotiation을 통해이를 관리 할 수 ​​있습니다.

관련 문제