前言

在你开始使用 Eve 之前先读这个。这有希望回答一些关于项目目的和目标的问题,以及何时应该或不应该使用它。

哲学

您将数据存储在某个地方,并希望通过一个RESTfulWebAPI将其公开给您的用户。夏娃是让你这样做的工具。

EVE提供了一个健壮的、功能丰富的、以REST为中心的API实现,您只需要配置API设置和行为,插入数据源,就可以开始了。参见 特征 有关EVE供电的API可用功能的列表。您可能需要检查 以人为本的REST API 也可以滑动甲板。

API设置存储在标准python模块中(默认为 settings.py ,这使得定制成为一项非常简单的任务。还可以扩展一些关键特性,即 认证和授权数据验证 和数据访问,通过为EVE引擎提供自定义对象。

一点背景

AT Gestionale Amica 我们一直在努力开发一个功能齐全、支持Python的RESTfulWebAPI。我们学习了很多关于REST最佳模式的知识,并且有机会对Python著名的Web功能进行测试。然后,在2012年的欧洲之星,我有机会分享我们所学到的。我的演讲引起了不少兴趣,即使几个月过去了,幻灯片仍然每天都能收到很多点击率。我不断收到电子邮件,询问源代码示例和其他内容。毕竟,RESTAPI存在于每个面向Web的开发人员的未来,而现在谁不是呢?

所以,我想,也许我可以采用专有的、封闭的代码(代码名为“adam”),然后“稍微重构一下”,这样它就可以适应更多的用例。然后我可以将它作为一个开源项目发布。结果发现它比那个稍微复杂一点,但最后它在这里,当然它叫夏娃。

REST, Flask 和 MongoDB

我的 EuroPython 演讲的幻灯片, 使用flask和mongodb开发RESTful Web API ,是 available online .您可能希望检查它们,以了解为什么以及如何做出某些设计决策,特别是关于REST实现的决策。

许可协议

今天发现的大量开源项目都是GPL许可的。虽然GPL有它的时间和地点,但它绝对不应该是下一个开源项目的许可证。

作为gpl发布的项目不能用于任何商业产品,除非该产品本身也作为开放源代码提供。

MIT、BSD、ISC和Apache2许可证是GPL的伟大替代品,它允许您的开源软件在专有的、封闭源代码的软件中自由使用。

EVE根据BSD许可证的条款发布。参见 许可 .