当前位置:  开发笔记 > 编程语言 > 正文

REST API URL必须如下所示吗?

如何解决《RESTAPIURL必须如下所示吗?》经验,为你挑选了3个好方法。

是否真的要实现RESTful API,必须实现看起来像这样的URL结构

http://example.com/post/
http://example.com/post/123

其中,/123将用于编辑,删除

提出问题的另一种方法是:看起来像这样的URL可以称为RESTful吗?

http://example.com/script.php?method=get_title&blogid=123

joschi.. 14

你不具备设计你的URI结构类似.它也可能是/some_obscure_string/base64_encoded_title/unique_id.这也可能是RESTful,取决于其他几个因素.

但是有几个关于如何在RESTful Web应用程序中设计URI的最佳实践,并且尽可能简单且尽可能易读.

您的示例http://example.com/script.php?method=get_title&blogid=123也可以是RESTful,但查询参数表示使用某种RPC或RMI-over-HTTP代替.

总结一下:不要过多考虑你的URI设计.这将通过您的应用程序的良好和适当的RESTful设计自动实现.



1> joschi..:

你不具备设计你的URI结构类似.它也可能是/some_obscure_string/base64_encoded_title/unique_id.这也可能是RESTful,取决于其他几个因素.

但是有几个关于如何在RESTful Web应用程序中设计URI的最佳实践,并且尽可能简单且尽可能易读.

您的示例http://example.com/script.php?method=get_title&blogid=123也可以是RESTful,但查询参数表示使用某种RPC或RMI-over-HTTP代替.

总结一下:不要过多考虑你的URI设计.这将通过您的应用程序的良好和适当的RESTful设计自动实现.



2> Sven..:

REST背后的理念是每个资源都有自己的URL,并且您使用不同的HTTP方法与这些资源进行交互.定义URL结构是有意义的,这样不同资源之间的层次结构就会反映在URL中,但您不必这样做.

如果您有这样的网址

 /all-posts/
 /first-post
 /some-stuff/second-post
 /third-post

您仍然可以为此提供RESTful API.这个想法是,一GET/all-posts/返回每一个岗位对象的URL列表和客户端使用这些URL与资源进行交互.基本上,客户端应将URL视为不透明数据.

只要客户端中嵌入的URL不会更改,您也可以更改结构而无需更改客户端.

您的示例URL可能不属于RESTful API,因为它包含一个方法get_title.在REST中,URL表示一个东西.该事情要做什么(如果它被修改,如果内容被检索,......)不是URL的一部分,因为该REST使用不同的HTTP方法.



3> SingleNegati..:

REST的一个关键方面是url是资源.一个uri喜欢

http://example.com/script.php?etc-etc-etc

不会将资源标识符放在uri的资源部分中.这并不是说RESTful API不应该使用get参数; 事实上,这很好:

http://example.com/posts?sort=date_asc&offset=20&limit=10

可能是获取最旧帖子第3页的URI的好方法.但是,以这种方式使用get参数只应在方法也是如此的请求中使用GET. PUT特别是POST方法应该真正使用简单的uri与仅在路径部分受影响的资源.

推荐阅读
手机用户2402852387
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有