标签:元数据 cti signed 资源 desc can any tom 提交
定义:
相关概念知悉:
http动词
Filtering
设计原则
为每一个资源定义一个具有良好可读性的uri
1 // var url = "GET /ticket/12embed=customer.name,assigned_user" 2 // message 报文 3 { 4 "id" : 12, 5 "subject" : "I have a question!", 6 "summary" : "Hi, ....", 7 "customer" : { 8 "name" : "Bob" 9 }, 10 assigned_user: { 11 "id" : 42, 12 "name" : "Jim", 13 } 14 }
设计误区
1 /* 2 3 1.最常见的一种设计错误,就是URI包含动词 4 2.另一个设计误区,就是在URI中加入版本号 5 6 正确的写法是把动词transfer改成名词transaction,资源不能是动词,但是可以是一种服务 7 因为不同的版本,可以理解成同一种资源的不同表现形式,所以应该采用同一个URI。 8 版本号可以在HTTP请求头信息的Accept字段中进行区分 9 10 */ 11 12 // http://www.example.com/app/1.0/foo 13 // http://www.example.com/app/1.0/accounts/1/transfer/500/to/2 14 // http://www.example.com/app/1.0/accounts/transaction? from=1&to=2&amount=500.00 15 // http://www.example.com/app/accounts/transaction?from=1&to=2&amount=500.00
Status Codes
Error handling
如果状态码是4xx,就应该向用户返回出错信息
1 { 2 "code" : 1234, 3 "message" : "Something bad happened :-(", 4 "description" : "More details about the error here" 5 } 6 // 2 7 { 8 "code" : 1024, 9 "message" : "Validation Failed", 10 "errors" : [ 11 { 12 "code" : 5432, 13 "field" : "first_name", 14 "message" : "First name cannot have fancy characters" 15 }, 16 { 17 "code" : 5622, 18 "field" : "password", 19 "message" : "Password cannot be blank" 20 } 21 ] 22 }
参考资料
http://www.ruanyifeng.com/blog/2011/09/restful
http://www.cnblogs.com/artech/p/3506553.html
http://blog.jobbole.com/41233/
标签:元数据 cti signed 资源 desc can any tom 提交
原文地址:http://www.cnblogs.com/alan-alan/p/7240044.html