我用烧瓶制作了一个API服务器。
我还希望将来遵循REST API约定进行维护。
搜索后,发现名词与复数一起使用。
但是我想知道,如果名词中没有复数,该如何命名?
以下终结点适用于用户。
/user/{id}
-单用户
/users/
-所有用户
名词用户可以。但是,例如名词luggage
,没有复数,只有单数。
我对命名感到困惑。
这里有什么主意吗?
答案 0 :(得分:0)
我还希望将来遵循REST API约定进行维护。
REST不在乎您为资源标识符使用什么拼写约定。任何与RFC 3986一致的拼写都可以。例如,如果您查看RFC 7230,将会发现没有对名词的引用。
http://example.org/C6CF1E69-1EFD-4836-BDF7-025972D85298
...是一个完全可以接受的URI。
搜索后,发现名词与复数一起使用。
通常,是的。在许多情况下,它会将集合的元素视为集合本身的从属,因此,拼写/collection-name/member-id
经常出现。
但是,正如您所注意到的,并不是所有的英语名词都具有复数形式。并非所有的英语名词都具有单数形式,这也是事实。任何绝对规则都将要求(a)没有出现任何例外名词的领域,或(b)一些套期保值。
机器不在乎-我们没有编译器在字典中查找复数形式以确保遵守规则。就URI解析器而言,它只是构成路径段的字节序列。
只有人类观众在乎;实际上,人类并不太在乎正确的拼写是否符合规则,而他们却在乎容易猜出/记住正确的拼写。
简而言之,如果您需要butter
或spectacles
集合的标识符,则遵循的合理协议是从您可用的一个拼写中获取最佳猜测,而不必担心关于一种拼写是否遵循“规则”的问题。
据我所知,flask
对URI复数没有很强的见解;如果不满意,或者意见不满意,您可以寻求其他库的帮助(例如,旋转Rails Inflector并查看复数方法的作用)。
答案 1 :(得分:0)
在REST中,更普遍的是在编程中,发明变量,资源,表的名称并不少见。
我想可以有一个端点/luggages/
来清楚地描述它处理多种资源这一事实。