Web services 有人能告诉我webservice URI命名约定吗?

Web services 有人能告诉我webservice URI命名约定吗?,web-services,uri,standards,conventions,Web Services,Uri,Standards,Conventions,例如,创建对象、更新对象、按ID检索对象、按名称检索对象 POST to: /object/create POST to: /object/update GET to: /object/getById?id={0} GET to: /object/getByName?name={0} 或者是否存在/object/create/create或类似的约定 我正在尝试创建一种统一风格的web服务。有很多方法可以对URI进行建模,你会在web上得到很多令人困惑的引用,不是它们是错误的,而是它们中的大多

例如,创建对象、更新对象、按ID检索对象、按名称检索对象

POST to: /object/create
POST to: /object/update
GET to: /object/getById?id={0}
GET to: /object/getByName?name={0}
或者是否存在
/object/create/create
或类似的约定


我正在尝试创建一种统一风格的web服务。

有很多方法可以对URI进行建模,你会在web上得到很多令人困惑的引用,不是它们是错误的,而是它们中的大多数在各自的上下文中是正确的

在你的例子中,你可以这样建模

发布到:/object-这将创建对象

放置到:/object——这将更新对象

获取:/object?id={0}--这将通过id获取对象


GET to:/object?name={0}--这将按名称更新对象

的确,我想遵循rest,这是一些小细节,尽管我想按ID或名称获取项目,这意味着您不能简单地访问同一url-哪些部分是通过参数完成的,哪些部分是作为地址的一部分完成的,例如,
object/3/
object/?id=3
或类似内容。我不确定。这看起来不错,如果你想同时发布多个对象,例如你在维护一本词典,你想创建/更新一个单词,但同时发布一个单词数组作为批处理作业,你会怎么做?发布到:/objects可能吗?资源集合本身就是一个单独的资源:)所以/objects是可以的。这意味着,当你在对象上做一个get时,理想情况下,你希望看到完整的对象列表,你可以做基于索引的get等等,所有这些都是REST的优点。