什么是WebAPI的开源等价物?

时间:2014-01-31 15:04:54

标签: web-services http asp.net-web-api open-source

过去我在微软平台上做过一些WebAPI http服务开发(基于Asp和自托管) 现在我开始学习如何在Microsoft平台之外进行Web开发。 我的问题是:什么是WebAPI的开源等价物? 具体来说,如何创建Web应用程序的后端部分,具有多个控制器(或类似构造),其中每个Controller都有自己的一组CRUD操作。 例如,使用WebAPI,我将创建一个CustomersController,一个ProductsController,一个OrdersController,每个人都可以为各自的域模型进行GET,POST,DLETE和PUT操作。所有这些控制器都将存在于同一Web应用程序中。 所以,我正在寻找一种使用开源堆栈创建这样的应用程序的方法。

3 个答案:

答案 0 :(得分:4)

首先:WebAPI确实是开源的(参见http://aspnetwebstack.codeplex.com/)。但是如果你想在微软平台之外进行部署":你想坚持使用.NET吗?

如果你想坚持使用.NET,那么我可以推荐ServiceStack。但是你应该先看看他们的许可证模型。 AFAIK他们已经从麻省理工学院的许可变成了不同的东西。不知道它是否仍可用于商业项目。

如果您想更改编程语言:请查看Scala。我刚从C#切换到Scala,我喜欢它。它在Java虚拟机中运行(因此几乎无处不在),但是比Java(在我看来)更好,更强大。对于Scala,例如Spray作为完全成熟的Web服务后端架构。

另一个赌注是PHP。做了很长时间了。我对自己不喜欢这么多,但无论如何,许多大型网站都是用PHP构建的。我想到的两个大玩家是symfony2Zend Framework 2

当然还有很多其他可能的选择。

希望这有点帮助...

答案 1 :(得分:1)

IMO最接近ASP.NET Web API的事情(从功能焦点的角度来看)是Nancy。

http://nancyfx.org/

我非常喜欢它!

答案 2 :(得分:0)

好吧,在研究了一些后端Http服务选项之后,对我来说最引人注目的是Node.js.对于前端,AngularJS似乎是一个很好的选择。 我研究所有这些的原因是开始在Microsoft平台之外开发Web应用程序(这就是我在工作中所做的)。 因此,暂时,我愿意给MEAN堆栈一个镜头,看看发展了什么。 谢谢大家帮助我! -Eugene