将Java/MVC/Hibernate webapp移植到Python

2024-04-20 09:24:46 发布

您现在位置:Python中文网/ 问答频道 /正文

我不是Python开发人员,但我与Python开发人员一起工作。在

场景如下:我被要求实现与Python框架集成的系统的一部分。然后我同意另一个团队用Java开发我的部分,并为他们实现REST绑定提供全面支持。所以我用springmvc和Hibernate在Java中实现了一个webapp。我不能详细说明,但设计合同如下:

Python框架使用特殊的身份验证和授权头调用restapi。springmvc控制器使用拦截器执行基于此类HTTP报头的身份验证和授权,然后被调用。控制器本身使用一个path变量和两个可选的GET参数来确定被访问对象的类型和时间戳范围

/api/{datatype}?[starttime=AAA]&[endtime=BBB]

使用适当的switch语句,我选择正确的Hibernate存储库来查询这些参数,并返回一个对象(映射到表),该对象由Jackson mapper for Spring MVC转换为JSON。在

作为一个系统集成商,我会告诉他们只需对运行在Tomcat上的组件形成合法的HTTP请求并解码JSON(JSON是根据他们的数据库模型设计的)。在

他们让我把所有的东西都翻译成Python。除了对Python完全没有经验(我几乎不能编写一个计算二项式系数的控制台应用程序,只是为了实现另一个helloworld或简单的计算器),我想Python中不存在Hibernate、Spring和Jackson之类的东西。在

所以,让我们来回答这个问题。Python中有没有允许我。。。?在

  • 用少量代码轻松创建restapi(Django??)在
  • 轻松拦截现有的REST api并适当地模块化HTTP管道,即通过类似于拦截器的机制在api代码外执行身份验证、后处理输出流等(我在其用于身份验证的代码库中看到了类似的东西。。。我们可以将此标记为已解决)
  • 执行依赖注入。在dev、staging和production之间切换时,我当前更改了实现由业务代码调用的接口的类
  • 将对象映射到关系,例如Hibernate。这是我目前最黑暗的一点。我认为Python中没有ORM
  • 将对象映射到JSON(我知道这是可行的,他们已经在代码库中这样做了)

我不会认为它没用就发布示例代码。我试图把一个问题作为一个一般性的问题来发表,而不是深入探讨细节。在


Tags: 对象代码框架身份验证restapirestapijson