web-services - 为什么 Railway IS 不被视为 RESTful Web 服务器?

标签 web-services node.js rest networking architecture

我正在考虑使用 RailwayJS 来构建我的 Web 服务器。之前我用的是express,算是RESTful。然而,从我读到的内容来看,RailwayJS 似乎不被认为是 RESTful,即使它使用express!

RailwayJS 的什么特点使其不符合 RESTful 风格?如果它使用 JSON 传递消息,那不是 RESTful 吗?

最佳答案

我很好奇您在哪里和/或如何得出有关 REST 和 Express/RailwayJS 的结论?

Express 让您可以按照您希望的方式自由设置路由器;你可以很容易地创建一个非常 RESTful 风格的应用程序,或者你可以很容易地打破 REST 架构中的每条规则。 Express 不会对您提出任何意见。

然而,RailwayJS 似乎更喜欢 RESTful 风格的界面 —— 至少在与 Ruby on Rails 等相同的上下文中使用“REST”时是这样。铁路支持resource based routing ,它将资源映射到七个与 Rails 非常相似的 URL/HTTP 动词:

Resource-based routing provides standard mapping between HTTP verbs and controller actions:

map.resources('posts');

will provide following routes:

   helper | method | path                   | controller#action
---------------------------------------------------------------
     posts GET      /posts                   posts#index
     posts POST     /posts                   posts#create
  new_post GET      /posts/new               posts#new
 edit_post GET      /posts/:id/edit          posts#edit
      post DELETE   /posts/:id               posts#destroy
      post PUT      /posts/:id               posts#update
      post GET      /posts/:id               posts#show

因此,我的结论是,当大多数人在设计基于 MVC 的 Web 应用程序时使用“REST”时,Express 可以是 RESTful,具体取决于您设计应用程序的方式,但它本质上不是 RESTful,并且 RailwayJS 更喜欢 RESTful 设置(尽管您也没有在 RailwayJS 中使用基于资源的路由)。

关于web-services - 为什么 Railway IS 不被视为 RESTful Web 服务器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10473198/

相关文章:

node.js - Glob 忽略模式似乎不适用于 gulp

mysql - 数据显示在服务器响应上,但不显示在浏览器上 - MySQL Node.js

c# - 从 Google 身份验证服务为 .NET 中的 REST 服务检索新的 Firebase 访问 token

linux - 如何使用可重定向反编译器 cURL API?

java - Intellij 生成的 WSDL 客户端代码

java - 如何从 RPG 调用 Spring Web 服务?

java - 将 Spring-ws webservicetemplate 请求以 XML 格式保存到 DB

javascript - 函数返回带参数的函数

c# - 如何在 WCF RESTful 服务上启用 HTTPS?

c# - 如何从 html 页面后面的代码中读取值?或者有更好的方法吗?