我正在考虑使用 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/