[英]REST url param naming convention
我有一个REST电话来搜索学生
/生?名称=无=
名称和否是可选的。
我正在搜索包含名称的学生。 即,如果我发送name =“ sh”,它将返回名称包含 “ sh”的所有学生。
和
不,它不是以“ s”开头的,即如果“ no = 10”,它将返回所有没有以“ 10” 开头的学生
这些参数的标准命名约定是什么。 我能说......么
/生?nameContains = noStartsWith =
要么
/生?名称=无=
哪一种是正确的方法?
对于查询参数,没有标准的命名约定。 在您的特定情况下,这取决于将来需求的可能性。 如果只是nameContains
,那比name
更好。 但是,如果你要需要nameContains
, nameStartsWith
, nameEndsWith
等,那将变得混乱很快。 然后,您应该考虑使用指定搜索条件的单独资源或在name
添加通配符,例如:
?name=Bob* <!-- name starts with Bob -->
?name=*h <!-- name ends with h -->
?name=Sa? <!-- name has three letters and starts 'Sa' -->
对于真正复杂的情况,您需要考虑支持正则表达式或使用现有库来处理搜索。 还考虑一下是否需要支持?nameIgnoreCase
,这将强烈支持通配符而不是多个查询参数。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.