rest - AngularJS 路由鼓励的 URL 是否符合 REST 原则?

标签 rest angularjs

我正在使用路由功能编写一个 AngularJS 应用程序,但这会生成如下所示的 URL:

http://localhost/admin.html#/surveys/2/schedule

从 RESTful Angular 来看,这种中间有 .html# 的 URL 可以吗?为什么或为什么不?

最佳答案

从技术上讲,它不是 RESTful,因为哈希值 (#) 之后的所有内容都永远不会到达服务器。

我不认为 $routeProvider 一定会鼓励这些 URL,就像它担心不支持 HTML5/popState 的旧浏览器一样。如果您想避免在 URL 中使用哈希,您可以包含 $locationProvider 并调用 .html5Mode(true):http://docs.angularjs.org/guide/dev_guide.services.$location

需要澄清的是,即使您改用 $locationProvider,您的 URL 也将是您网站上唯一符合 REST 风格的内容。 REST 不仅仅是漂亮/可用的 URL...如果您使用 AngularJS,您仍然(阅读:您仍然应该)只是提供 HTML,而不是从您的站点实际修改服务器上的任何内容。如果您正在考虑 REST,那么您应该更担心设置 RESTful Web 服务并让 AngularJS 与之对话。

关于rest - AngularJS 路由鼓励的 URL 是否符合 REST 原则?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16968559/

相关文章:

java - Struts2 REST 插件 : Sending JSON object through PUT

javascript - typescript 同步方法调用

javascript - 如何使用相同的 HTML 通过不同的 url 呈现不同的内容?

javascript - 如何强制 Karma 观看它自己的配置文件 (karma.conf.js)?

python - 使用 Flask 使用 REST API 服务训练有素的 Tensorflow 模型?

http - 从GWT开始,使用RPC调用重要吗?

c# - Android 图片上传到 C# .NET REST 服务

ruby - Sinatra 构建 REST API 文档

angularjs - 如何使用 Sinon 测试在 promise 中设置的 AngularJS Controller 值

javascript - 如何将一个字符串(一个整数列表)解析为 JavaScript 中的列表?