私はアプリを開発しており、Ruby on Rails
またはPython+Django
のいずれかを選択する必要があります。今のところ私はRuby on Rails
でそれをやりたいと思っています。なぜなら、私は自分がしなければならないことをより快適に感じているからです。PythonクライアントからRuby on Railsアプリケーションへの通信方法は?
しかし、問題があります。私と通信しなければならないPython
に書かれたクライアントアプリがあります。アプリケーションが私と通信できるようにする必要があります。
まず:私はそれがMySQL
データベースとの通信の問題である場合Python
アプリは適切な認証右にMySQL
サーバに照会することができ引き起こし、問題はないだろうと思いますか?
第二:、より重要な質問:私は、クエリを容易にするために、Ruby
書かれたAPIを使用している場合は、Python
アプリはそのAPIの関数を呼び出し、結果を得ることができるだろうか?それが可能なら、どのように達成できますか?
私はAPIのためだけにこのアプリを使用していません、それはフロントエンドを持つWebアプリです。 Pythonから呼び出される関数用のAPIモジュールを含めることができますか(どのようにすればいいですか?)、またはPythonアプリケーションに直接データベースに問い合わせるように依頼することができますか? –
はい、 'API'名前空間モジュールとルートを作成します。 ID 1のユーザの詳細を取得したい場合、ルートは 'domain/api/v1/user/1'になります。これは' users#show'データベースに問い合わせてjson '{id :1、fname: 'foo'、lname: 'bar' ... '。あなたのpythonアプリケーションはdbと全く接続する必要はなく、レールアプリケーションのすべてのビジネスロジックでのみ(これをお勧めします)基本的なクライアントアプリケーションになります –
短い答え:経由で公開されているJSONベースのRESTful API http呼び出し。これは非常に軽量な作業であり、2つの別々のテクノロジーが通信できるように共通のテクノロジ(この場合はJSONとHTTP)に依存していることがわかります。これは本当に基本的に回答者の言うことですが、私がそれをこのように表現したことを聞いたとき、それは私にとって意味がありました。 – jaydel