基于操作的HTTP接口Richardson成熟度模型级REST

时间:2014-11-25 20:31:08

标签: rest

如果服务包含不同操作的URL(动词不是名词):

e.g。

Http://aaa.com/api/clients/UpdateClient
http://aaa.com/api/clients/RemoveClient
http://aaa.com/api/messaging/SendMessage

这会被归类为RMM级别0吗?

基于例子

http://martinfowler.com/articles/richardsonMaturityModel.html

它似乎与级别0不匹配

1 个答案:

答案 0 :(得分:0)

鉴于Richardson成熟度模型基于REST,并且您提供的URL不是RESTful,它们不会被归类为4个级别中的任何一个。

将动词放入网址并不是RESTful。 (见http://www.restapitutorial.com/lessons/restfulresourcenaming.html

您发布的链接中提到的HTTP谓词是PUT,POST,GET等.HTTP动词与它们操作的实际网址无关。

RESTful版本的http://aaa.com/api/clients/UpdateClient将是

http://aaa.com/api/clients/:client_id

UpdateClient将转换为

PUT http://aaa.com/api/clients/1 HTTP/1.1

如果提供了新的(更新的)资源,则替换现有资源(在这种情况下为客户端1)

RemoveClient将转换为

DELETE http://aaa.com/api/clients/1 HTTP/1.1

此处显示的DELETE和PUT是您提供的链接中讨论的HTTP谓词。