3

私は Python 開発者ではありませんが、Python 開発者と協力しています。

シナリオは次のとおりです。Python フレームワークと統合するシステムの一部を実装するように依頼されました。次に、他のチームと合意して、自分の部分を Java で開発し、REST バインディングの実装を完全にサポートすることにしました。そこで、Spring MVC と Hibernate を使用して Java で webapp を実装しました。詳しくは言えませんが、設計契約は次のようになります。

Python フレームワークは、特別な認証および承認ヘッダーを使用して REST API を呼び出します。Spring MVC コントローラーは、インターセプターを使用して、このような HTTP ヘッダーに基づいて認証と承認を実行し、呼び出されます。コントローラ自体は、パス変数と 2 つのオプションGETパラメータを使用して、アクセスされるオブジェクトのタイプとタイムスタンプ範囲を決定します。

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

適切なswitchステートメントを使用して、適切な Hibernate リポジトリを選択してこれらのパラメーターでクエリを実行し、Spring MVC の Jackson マッパーによって JSON に変換された (テーブルにマップされた) オブジェクトを返します。

システム インテグレーターとして、Tomcat で実行されているコンポーネントに対して正当な HTTP リクエストを作成し、JSON (これは彼らのデータベース モデルに従って設計されています) をデコードするだけでよいと彼らに言います。

代わりに、すべてを Python に翻訳するように依頼されました。Python の経験がまったくないことは別として (2 項係数を計算するコンソール アプリケーションをほとんど作成できず、別の Hello World や単純な電卓を実装することはできませんでした)、Python には Hibernate、Spring、Jackson などは存在しないと思います。

それでは、質問に行きましょう。Python には、私ができるフレームワークはありますか?

  • 少しのコードで REST API を簡単に作成 (Django????)
  • 既存の REST API を簡単にインターセプトし、HTTP パイプラインを適切にモジュール化します。つまり、API コードから認証を行い、出力ストリームを後処理するなど、インターセプターと同様のメカニズムを使用します (認証用のコード ベースでそのようなものを見たことがあります)。 ...これを解決済みとしてマークする場合があります)
  • 依存性注入を実行します。開発、ステージング、本番を切り替えるとき、現在、ビジネス コードによって呼び出されるインターフェイスを実装するクラスを変更します。
  • オブジェクトを Hibernate などのリレーションにマップします。それが現在の私の最も暗い点です。PythonにはORMはないと思います
  • オブジェクトを JSON にマップします (実行可能であることはわかっています。コードベースで既に実行しています)。

サンプルコードは役に立たないと信じて投稿しません。詳細を掘り下げるのではなく、一般的な問題として質問を投稿しようとしました。

4

0 に答える 0