为什么铁路不被视为RESTful网络服务器?

时间:2012-05-06 18:46:02

标签: web-services node.js rest networking architecture

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

什么是关于使它不是RESTful的RailwayJS?如果它使用JSON传递消息不会使它成为RESTful吗?

1 个答案:

答案 0 :(得分:4)

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

Express允许您以任意方式自由设置路由器;您可以非常轻松地创建一个非常REST风格的应用程序,或者您可以轻松地破坏REST架构中的每个规则。 Express对您没有任何意见。

然而,
RailwayJS似乎更倾向于使用更加REST风格的界面 - 至少在使用" REST"在与Ruby on Rails相同的上下文中。铁路支持resource based routing,它将资源映射到七个类似Rails的URL / HTTP动词:

  

基于资源的路由提供HTTP谓词和控制器操作之间的标准映射:

map.resources('posts');
     

将提供以下路线:

   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

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

相关问题