2016-09-19 5 views
1

전제 : 이 질문은 "올바른 방법입니까?" 오히려 "어떻게해야합니까?"REST 결과의 JSON 템플릿

상황 : 나는 this 튜토리얼 다음은 CherryPy REST 응용 프로그램을 만들었습니다 . 데이터는 json 모듈을 사용하여 간단한 json.dumps과 함께 반환됩니다. 이 예제가 작동합니다. 데이터로 HTML 표를 만드는 데 사용하고 싶은 mako 템플릿이 있습니다. 다시 말하지만 템플릿 자체가 작동합니다.

질문 :

  1. 사용자는
  2. 나머지 API는
  3. 마코 템플릿이 생산 결과와 JSON을 생성하는 URL을 요청 :가이 방식으로 작동합니다 내 머리에 HTML은
  4. 은 HTML은 사용자

에 반환되는 결과를 주어 내 문제는, 이것이 올바른 접근 방법인지 확신 할 수 없다 : 나의 작은 경험에서, JSON은 클라이언트에게 리턴되어야한다. 클라이언트는 어떤 방식 으로든 그것을 렌더링해야한다 (jQuery 나 다른 클라이언트 측 언어 사용). 대신, mako 템플릿은 서버 측에서 작동합니다.

조언이 있으십니까?

+1

스스로에게 물어보십시오. 왜 REST를 전혀 구현하지 않습니까? 마이크로 서비스 아키텍처입니까? 그렇다면 템플릿에서 프론트 엔드를 생성하는 앱이 JSON 형식의 HTTP를 통해 API에 컨텍스트 데이터를 요청하는 것이 정상입니다. 그렇지 않다면 모든 매개 변수를 렌더러에 전달하면 어떨까요? – webKnjaZ

답변

0

이 문제를 해결하기 위해 REST가 필요하지 않습니다.이 웹 응용 프로그램은 일반적인 웹 응용 프로그램입니다. 이것은 REST 서비스가 어떻게 작동하는지 그냥를 표시합니다 :

  • 사용자가 서비스에 some-automated-stuff을 할 수있는 REST 클라이언트를 요청 클라이언트는
  • 클라이언트 하이퍼 링크를 검색 메인 페이지를 얻을 수 example.com/api/v1를 요청
  • 메인 페이지에
  • 클라이언트는 relation=some-automated-stuff
  • 클라이언트와 하이퍼 링크가 하이퍼 링크를 다음과 REST API를
  • 는 C에서 JSON 결과를 얻을 발견 lient는 마코 템플릿을 사용하여 생산
  • 은 HTML은 사용자

전형적인 클라이언트가 서비스에 의해 등록 된 제 3 자 서버 측 응용 프로그램입니다에 반환되는 결과 주어진 HTML 및 고유 API를 가지고 키. 사용자는 클라이언트가 API 키에 권한을 부여하여 계정에서 some-automated-stuff을 수행 할 수 있습니다. 예를 들어 서비스는 페이스 북 API가 될 수 있고 클라이언트는 Zynga가 개발 한 애플리케이션이 될 수 있습니다. Farmville. 클라이언트가 뉴스 피드에 팜에서 100,000 개의 작물을 수확했다는 사실을 알리면 페이스 북 API에 대한 요청을 보내므로 일부 자동 메시지가 뉴스 피드에 표시됩니다.

c. 원한다면 1 자 AJAX 또는 서버 측 클라이언트를 작성할 수 있지만 타사 클라이언트를 지원하지 않으려면 REST 서비스를 개발하는 것이 타당하지 않습니다. Ofc. 귀하의 고객은 일반적인 응용 프로그램만큼이나 쉽게 중단되지 않으므로 중요하다면 노력할 가치가 있습니다.