我无法找到关于如何最好地定义REST / HATEOAS服务的任何选项,因为其数量巨大而无法详尽列出可用资源选项。
特别是,系统的一部分将是用于在大型文本语料库中编制索引词使用统计数据的资源 - 类似于GET http://mysite.org/word_statistics/foobar,它将foobar和URI的信息返回到使用foobar的文档。
但是,我无法提供应用程序可能发现实际http://mysite.org/word_statistics/foobar链接的任何合理方式 - 规范方法似乎是提供类似http://mysite.org/word_statistics的资源,它将返回一个列表单个URI,但在我的情况下,列表将是一个千兆字节,所以不太合理。所以我需要为请求的应用程序提供类似http://mysite.org/word_statistics/ {your_query_here}的内容,但似乎没有RESTful方法可以做到这一点。
如何妥善完成?
答案 0 :(得分: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,但是在原始列表的相同限制和分页限制下。
您还可以执行以下操作:
你可以在这里做各种各样的事情。但是,要点是基本的搜索模式应该很容易满足需求。