或者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空间中是否有等价物?
答案 0 :(得分:11)
因此,这两个问题的答案都是是。 Rails
确实有等效的Rails
。
ASP.NET Web API
看起来它的核心只是RESTful router类型协商。我可能完全不在这里,但是从教程中我看到了它对我来说的样子。
所以是的,从我所知道的,Rails支持为Web API
创建的大部分内容。实际上在Rails中,大部分内容都是强制到你身上,直到你得到足够的信息才能改变它(假设到那时你知道的比实际做的更好)。
但是,就Web API
功能而言。这真的来自支持GET
所做的HTTP verbs(POST
,PUT
,DELETE
,Rails
)的能力。
但是混淆的一个原因可能是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。