2012-03-10 5 views
1

모바일 앱 (Sencha Touch) 용 웹 서비스를 구축 중이며이를 (올바른 방식으로 주관적인 방식으로) 올바른 방법으로 사용하고 있습니다.RESTful API에서 매개 변수에 접근하는 방법

내 상황이 여기에 있습니다.
Google 캘린더를 사용하고 JSON을 통해 모바일 앱으로 푸시합니다. 여기에 두 가지 옵션이 있습니다.이 문제를 어떻게 해결해야할지 모르겠습니다.

옵션 1은 querystring을 통해 calendarID를 전달하는 것입니다. 이렇게하면 필요한 경우 모바일 앱 구성에서 calendarID를 바꿀 수 있습니다.

예 :
http://example.com/calendar/events?callback=asdf

:
http://example.com/calendar/[email protected]&callback=asdf

옵션 2는 calendarID

예를 업데이트 웹 서비스에 설정 파일을 사용하는 것입니다 내가 무엇인가? 설정을 웹 서비스에 적용하는 것이 현명한 방법입니까, 아니면 모바일 앱에서 구성을 전달할 수 있습니까?

[참고] 달력은 일반적으로 편안하고 시스템에 다시 당신에게 전달되는 이외의 공공 데이터에 의존해서는 안 모든 사용자

답변

1

들 사이에서 공유됩니다. 그러나 이것은 대중 사용자가 신경 쓰지 않는 구현 (개인) 세부 사항의 더 많은 것 같습니다. 그래서, 나는 그것이 모든 요청에 ​​동일하게 들리 듯이 설정에 이것을 저장하는 데 아무런 문제가 없다고 봅니다.

적어도 제 생각에는 그렇습니다.

+0

예, 이것은 비공개 API입니다. 그래서 당신은 "아무 문제가 설정 에서이 문제를 저장하는"응용 프로그램이나 API를 말하는거야? –

+0

나는 API에 config를 저장하는 것을 언급하고있다. 앱에 저장해야하는 경우 정보는 앞뒤로 전달되며 매개 변수에 있어야합니다. –

+0

나에게 합리적인 소리, 감사합니다. –

1

두 옵션 중 하나는 REST 원칙에 따라 더 많은 인라인으로 간주됩니다.

URI는 고유 한 리소스의 식별자입니다. 두 번째 옵션을 사용했다면 사용자 A와 사용자 B는 서로 다른 두 개의 달력을 가지고 있더라도 자신의 달력 (http://example.com/calendar/events?callback=asdf)에 대해 동일한 URI를 갖습니다.

그러면 응용 프로그램은이 URI에 응답하는 방법을 결정하기 위해 구성 파일의 상태에 의존하게됩니다. REST는 일반적으로 옹호하는 사람들 무국적자입니다.

+0

나는 당신이 말하는 것에 전적으로 동의하지만, 당신이 그 설명을 오해했을 수도 있다고 생각합니다. calendarid는 모든 사용자에게 동일한 백엔드 구현 세부 사항입니다. 내가 위의 대답에서 설명했듯이 내가 잘못 이해했다면 올바른 것입니다. –

+0

알겠습니다. 문제의 백엔드에서 단 하나의 달력 만 사용되었다는 것은 분명하지 않았습니다. 그것의 응용 프로그램 넓은 설정, 그럼 당신은 확실히 최종 사용자 (그것은 최종 사용자가 URI의 일환으로 DB 이름을 선택하게하는 것과 유사 할거야)에 의해 변경되고 싶지 않아, 그래서 네 옵션은 잘 했어. 좋은 캐치. – nategood

+0

예, 죄송합니다. 우리 대중을위한 앱이며 모든 사용자에게 하나의 캘린더를 보여줍니다. 나는 그것을 더 잘 설명해야만했다. –

관련 문제