2012-02-21 1 views
1

REST/HATEOAS 서비스를 정의하는 방법에 대한 옵션을 알아내는 데는 많은 어려움이 있으므로 사용 가능한 리소스 옵션을 철저히 나열 할 수는 없습니다.'발견 가능'이 불가능한 REST 구조

특히 시스템의 일부는 텍스트 모음에있는 색인 된 단어 사용 통계를위한 리소스입니다. foobar가 사용되는 문서에 foobar 및 URI에 대한 정보를 반환하는 GET http://mysite.org/word_statistics/foobar과 같습니다.

그러나, 나는 앱이 실제 http://mysite.org/word_statistics/foobar 링크를 발견 할 수있는 합리적인 방법을 제공 할 수 없습니다 - 정규 접근 방식은 개별 URI의 목록을 반환 http://mysite.org/word_statistics 같은 자원을 제공하는 것 같다,하지만 내 경우에는 그 목록은 기가 바이트 정도가 될 것이므로 합리적으로 실용적이지는 않을 것입니다. 그래서 요청하는 앱에 http://mysite.org/word_statistics/ {your_query_here}와 같은 것을 제공해야하지만,이를 수행하는 RESTful 방법이없는 것 같습니다.

어떻게하면 제대로 수행 할 수 있습니까?

답변

2

많은 장소에서 사용되는 고전적인 검색 패턴을 따라갈 수 있습니다.

  • http://example.org/word_statistics -이 모든 것을, 단어와 링크를 반환합니다,하지만 당신은 모든 것을 반환하지 않으려는, 그래서 당신은 당신이 무엇 쿼리 옵션의 아마 설명과 함께 해당 오류 코드를 반환하지 대신 않는다 지원하다. 또는 모든 것을 반환 할 수 있지만 페이지 (한 번에 10, 100, 1000 단어 ...)로 반환 할 수 있습니다.

  • http://example.org/word_statistics/ {word} - 주어진 단어에 대한 통계입니다.

  • http://example.org/word_statistics?like=word - 이것은 "비슷한"단어 목록을 반환합니다.이 단어는 맞춤법 오류나 소리 등을 처리 할 수 ​​있습니다.

  • http://example.org/word_statistics?from_word=word1&to_word=word2 - from_word로 알파벳순으로 시작하고 to_word로 이동하지만 원래 목록과 동일한 제한 및 페이징 제약 조건하에있는 단어 목록을 반환합니다. - 자신의 통계에 대한 링크, 그냥 문서에있는 단어를 반환

    또한 뭔가를 할 수 있습니다.

여기에서 할 수있는 모든 일들. 그러나 요점은 기본 검색 패턴이 필요를 쉽게 채워야한다는 것입니다.