专栏名称: CSDN
CSDN精彩内容每日推荐。我们关注IT产品研发背后的那些人、技术和故事。
目录
相关文章推荐
投资者的进化  ·  Google ... ·  昨天  
新浪科技  ·  【科技+消费双主线 ... ·  2 天前  
51好读  ›  专栏  ›  CSDN

RESTful API设计技巧经验总结

CSDN  · 公众号  · 科技媒体  · 2017-06-07 12:20

正文

请到「今天看啥」查看全文



当你从/posts请求多个帖子的时候,这样的URL看起来更明了:



更多有关混合类型的信息,请看下文:“ 使用根级别的‘me’端点(URL) ”。

避免查询字符串


查询字符串的作用是对关系数据库返回的记录集做进一步地过滤。



更多信息请看下文:“ 避免对嵌套路由的操作 ”。

使用HTTP方法


我们可使用下面这些HTTP方法:


  • GET 用于获取数据。

  • POST 用于添加数据。

  • PUT 用于更新数据(整个对象)。

  • PATCH 用于更新数据(附带对象的部分信息)。

  • DELETE 用于删除数据。


补充一点,对于修改对象的部分内容的请求来说,我认为PATCH是减少请求包大小的一个好的方法,并且它也能很好的跟自动提交/自动保存字段配合起来用。


一个很好的例子是Tumblr的“仪表盘设置”屏幕,其中,“服务的用户体验”的一些非关键性选项可以单独地编辑和保存,而不需要点最下面的提交按钮。


对于POST,PUT或PATCH的成功响应消息,应该返回更新后的对象,而不是只返回一个null。


有关响应的其他内容,请阅读下文:“ JSON格式的响应和请求 ”。

使用封包


“我不喜欢数据封包。它只是引入了另一个键来浏览数据树。元信息应该包含在包头中。”


最初,我坚持认为封包数据是不必要的,HTTP协议已经提供了足够的“封包”来传递响应消息。


然而,根据 Reddit上的回复 所述,如果不封包为JSON数组,则可能会出现各种漏洞和潜在的黑客攻击。


现在建议使用封包,你应该把数据封包后再应答!



同样要重点关注的是,不像其他语言那样,JavaScript之类的语言将会将空对象认为是true! 因此,在下面这种情况下,不要返回空的对象来作为响应的一部分:


JSON格式的响应和请求







请到「今天看啥」查看全文