有一个实体,
class Employee{
int id;
String name;
String phoneNumber;
}
查询以下4种场景的正确REST-ful方式是什么:
两个起跑点非常直截了当:
1. /employee
2. /employee/{employee-id}
然而,现在我们想要根据多个属性筛选实体,我能想到的最佳解决方案是:
3. /employee/{employee-id}?name=abc
4. /employee/{employee-id}?name=abc&phoneNumber=123
有没有更好的方法来做到这一点?有些人提出了如下解决方案:
3. /employee/{employee-id}/{name}
4. /employee/{employee-id}/{name}/{phoneNumber}
然而,我觉得以上这些违背了宁静的表达方式。
按ID和姓名(以及电话号码)搜索员工有点矛盾。
通常,按ID查找员工不被视为搜索,而是对现有资源的引用(GET请求)。如果失败,应该返回HTTP 404。
按多个属性搜索通常是查询的POST,例如:
POST /employee/search HTTP/1.1
Name=Hasan&PhoneNumber=0612345678
混合按ID查找和按(多)属性搜索会引发一些问题:
在RESTAPI中,必须将集合和特定资源分开。我会用复数形式指定一个集合,用单数形式指定资源。因此,集合中的特定资源可以通过/{collectionName}/{id}获取,如果要查询属性,请使用/{collectionName}?属性1=qwe
所以我宁愿这样构造它:
/employees # the entire collection of employees
/employees/{id} # a specific employee by id. No need to have any query params since we fetch an employee by its primary key.
/employees?name=abc&phoneNumber=123 # query the collection of employees for the ones having name=abc and phoneNumber=123
问题内容: 文本框或文本区域的属性的正确值是多少? 我以前看过以下内容: 问题答案: 对于XHTML,是有效的标记。 对于HTML5,W3C对其样本有效并使用了它们。 实际上,两种方法都可以在所有主要浏览器上使用。
我已经做了几个小时没有成功。对于我从这里记录的其他事件或其他地方的示例中尝试的所有内容,HQL语法在我的方法中似乎总是错误的: 每次Hibernate都会给我一条信息: 使用如下所示的查询: 堆栈跟踪为:
我正在尝试向gremlin顶点添加多个属性。每次我都有不同数量的属性和不同的属性,所以我需要根据Map使查询动态以创建或更新属性。我发现了这个gremlin python-将多个但未知数量的属性添加到顶点,并尝试做同样的事情,但我实例化了一个jansugraph,但我得到了一个错误。任何想法都将非常受欢迎。 下面是直接用gremlin控制台写的,然后我会翻译成java代码。 而我得到的错误是 任何
我正在尝试将“{”文本“:”添加到字符串的开头,将“}”添加到字符串的结尾。 我一直在环顾四周,玩下面不同版本的游戏 甚至可以附加到扩展属性吗? 给我试图实现的目标添加更多信息 空的传递给
问题内容: 在UML图上,代表模板类的正确方法是什么? 问题答案: 在右上角带有虚线矩形的普通矩形,代表模板参数。像这样:
以下是mongodb中的集合 当我询问 MongoDB返回结果集中具有"拥有":"笔记本电脑"的文档。 当我询问 结果仅显示数据字段中第一个匹配“TV”的文档 我如何查询获得汤姆拥有电视的所有3个文档,不包括笔记本电脑文档。预期结果 注意:在本例中,我只提到了数据字段中的4个文档,其中原始集合有50多个文档。对不起,我的英语很差:)。