Web services WebAPI的开源等价物是什么?

Web services WebAPI的开源等价物是什么?,web-services,http,asp.net-web-api,open-source,Web Services,Http,Asp.net Web Api,Open Source,过去,我在Microsoft平台上做过一些WebAPI http服务开发(基于Asp和自托管) 现在我开始学习如何在Microsoft平台之外进行Web开发。 我的问题是:WebAPI的开源等价物是什么? 具体来说,如何创建Web应用程序的后端部分,具有多个控制器(或类似结构),其中每个控制器都有自己的CRUD操作集。 例如,使用WebAPI,我将创建一个CustomerController、一个ProductsController、一个OrdersController,每一个都将为各自的域模型

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

首先:WebAPI确实是开源的(请参阅)。但是如果你想“在微软平台之外部署”:你想坚持使用.NET吗

如果你想继续使用.NET,那么我可以推荐你。但是你应该先看看他们的许可证模型。看来他们已经从麻省理工学院的许可证换成了别的东西。不知道它是否还能用于商业项目

如果你想改变你的编程语言:看看。我刚从C#转到Scala,我喜欢它。它在Java虚拟机中运行(因此几乎无处不在),但在我看来,它比Java更好、更强大。例如,对于Scala,有成熟的web服务后端体系结构

另一个赌注是PHP。也做了很长时间。我自己不太喜欢它,但很多大型网站都是用PHP构建的。我心目中的两大玩家是和

当然,还有许多其他可能的选择


希望这有点帮助…

我认为最接近ASP.NET Web API(从功能焦点的角度来看)的是Nancy


我非常喜欢它

在研究了大量后端Http服务选项之后,我最感兴趣的是Node.js。对于前端,AngularJS似乎是一个很好的选择。 我研究所有这些的原因是为了开始完全在Microsoft平台之外开发Web应用程序(我在工作中就是这么做的)。 所以,就目前而言,我愿意尝试一下平均堆栈,看看会发生什么。 谢谢大家帮助我!
-尤金

谢谢!这确实有帮助。我的目标是学习和使用MS之外的开源堆栈,所以C#不是一个要求。然而,我更喜欢使用比JS更结构化的编程语言,最好是面向对象的。因此,对于我的前端,我希望使用带Dart的angular。我一定会看看Scala和Spray。谢谢准备好重新思考构建应用程序的方式。尽管Scala是面向对象的,但它更倾向于功能方向,Spray(特别是Spray Routing,它可以让你创建“控制器”)在第一个方面使用了一种奇怪的方式,但在第二个方面使用了令人难以置信的优雅方式,描述你的Web应用程序后端的结构。相关问题(请不要关闭它)