我在为域中的资源建模以适应REST API时遇到了一些麻烦。这个例子显然是做作和简化的,但它说明了我陷入困境的两点。
我知道:
我该如何处理日期?
一个。在查询字符串中:/ pets / dogs / d123?from = 10102010& to = 10102015(但据我所知,查询字符串主要用于可选参数;日期/日期范围是必需的。我在考虑拥有当前日期默认情况下,如果查询字符串中没有任何内容。有任何想法吗?)
湾在路径的某个地方。之前/宠物?当我在日期和日期范围之间切换时,这似乎有点奇怪。我真正的道路已经很长了
我该如何处理多个名字?
我看到它的方式,我必须指定谁使用我正在搜索的名称。
/ pets / dogs / rex - >我想知道叫做rex的狗(由谁,我还是奶奶?)。但在哪里放奶奶?
我看到有些人说不要担心网址,并使用超媒体但我理解的方式(而且我可能错了)是你必须始终从根开始(这里/宠物) )并按照回复中提供的链接进行操作。然后我就更加困难了(因为这个日期确实存在很长的可能性)。
感谢任何帮助。感谢
答案 0 :(得分:0)
如果需要,您可以使用查询字符串,对此没有限制。路径包含层次结构,而查询包含非层次结构部分,但这也不是必需的。
通过查询,我建议您考虑参数以及响应中的内容。例如:
我想知道叫做rex的狗(由谁,我还是奶奶?)
参数是:grandma
和dog
,您在回复中需要GET /pets/dogs/?owner=grandma&name=rex
个。
因此,超链接将类似于GET /pets/dogs/owner:grandma/name:rex/
或$(document).ready(function() {
$.fn.dataTable.moment('DD/MM/YYYY HH:mm');
$('#example').DataTable();
});
等...如果您将一些RDF元数据附加到超链接和参数,则URI结构并不重要。你可以使用https://schema.org/AnimalShelter词汇。 OFC。这不是最合适的,因为它不关心多人给出的多个名字,但如果您决定使用RDF,那么创建自己的词汇是一个良好的开端。