在Rails世界中是否有与ASP.NET Web API相同的东西?

时间:2012-03-23 20:40:14

标签: asp.net .net ruby-on-rails web-services asp.net-web-api

或者Rails本身是否适合开发API?

ASP.NET Web API项目类型似乎有一些与WCF交织在一起的历史记录(例如this帖子中详细介绍),所以它可能不适用于Rails。

更新

为了澄清,Microsoft拥有ASP.NET MVC框架。最近,他们推出了一个名为ASP.NET Web API的框架。 ASP.NET Web API似乎与ASP.NET MVC有相似之处,但是专门针对RESTful Web服务进行了修剪。 Ruby / Rails空间中是否有等价物?

6 个答案:

答案 0 :(得分:11)

因此,这两个问题的答案都是Rails确实有等效的Rails

ASP.NET Web API看起来它的核心只是RESTful router类型协商。我可能完全不在这里,但是从教程中我看到了它对我来说的样子。

所以是的,从我所知道的,Rails支持为Web API创建的大部分内容。实际上在Rails中,大部分内容都是强制到你身上,直到你得到足够的信息才能改变它(假设到那时你知道的比实际做的更好)。

但是,就Web API功能而言。这真的来自支持GET所做的HTTP verbsPOSTPUTDELETERails)的能力。

但是混淆的一个原因可能是Rails RESTful API实际上是应用程序本身。这意味着您不需要实现任何其他库,它就是以这种方式构建的。

这是一个简单的例子,我的意思是 当您点击/users/1时,您将获得与该用户相关联的数据,具体取决于您请求的格式。因此,如果您请求 JSON ,控制器将返回 JSON HTML ,您将获得 HTML XML 您获得 XML 等(只要为该资源实施了所述格式)

我正在谈论的内容的一个很好的概述在这两部分:
Rails Guides::Controller: Rendering xml and json data
Rails Guides::Routing: Resources on the Web

所以你可以在Rails应用程序中构建一个网站,API或两者,它们都会以同样的方式开始。

但是根据我对此事的有限知识,我会说 ASP.NET MVC with ASP.NET Web API 计划实际上更像是 {{1} } 比他们面前的常规 Rails Program 计划。

或者只是一个聪明的策略,尽可能多地在标题中获得大写字母。

答案 1 :(得分:3)

看看grape。它是ruby中纯粹的“Rest”HTTP API框架。

答案 2 :(得分:1)

WSO2 看起来像一个通用的Web服务框架(与像Rails一样的MVC)我无法保证它,但它似乎更像是一种服务框架的风格WCF Web API(一般意义上的服务,而不仅仅是SOAP)。

答案 3 :(得分:0)

很难知道“API”是什么意思...... Rails和ASP用于开发网站,而WCF本质上是一个Web服务平台。 ASP和WCF几乎没有共同之处,ASP应用程序使用WCF服务是正常的,因为它们都运行在同一堆栈和平台上。

我认为微软方面的Rails将是ASP.NET MVC,Linq2SQL或EntityFramework和一些WCF的组合。

答案 4 :(得分:0)

好的,这不是你问题的直接答案,但似乎有些混乱......微软的ASP.NET Web API特别是ASP.NET MVC 4+的产品。它是一个RESTful框架。它与RoR相比如何?我不知道从未尝试过在Windows上安装RoR。与其他任何事情一样,经验各不相同......要求各不相还要尝试将我们的语言,构造,上下文和框架思考。开发API是否更好?如果您使用的是Linux / Unix,答案可能是肯定的。如果你在Windows服务器上,问题有点棘手。

最后,

在ASP.NET Web API中编写与WCF有0%的关系。也许它是在幕后实现的,但是ASP.NET Web API(从我所见过并用它完成的)严格来说是HTTP绑定的API,而不是TCP / Binary / Piped / etc ......就像WCF一样。如果你问的话

答案 5 :(得分:-2)

是。它被称为Grails。它使用弹簧。有大量的插件可供使用,它使创建Web应用程序变得轻而易举。阅读更多相关信息here