2016-10-14 12 views
0

私はRESTfulなWebサービスを初めて使い、まだMVCパターンと結合したデザイン/アーキテクチャの側面を理解しています。私はCodeigniterフレームワークを使用してMVCを実装しています。REST API - ビューからPOSTを使ってテーブルを更新する

私はかなり簡単な質問がありました。私は、フォームデータを使用してデータベースのテーブルを更新しています。

http://www.example.com/api/resource/tablename/?param1=info1 ...

典型的なAPI:私はこれを行いますAPIを書かれています。私が知りたいのは、MVCパターンでVIEWからPOSTデータへのcURLを使用し、フォームデータでテーブルを更新する必要があるのか​​、それともコントローラからPOSTデータを送信してコントローラからAPI呼び出しを行うべきかテーブルを更新します。

私にとっては、どちらも同じことを達成するが、標準的なプラクティスは何ですか? VIEWからapiと直接通信してdbテーブルを更新するのは大丈夫ですか?私はこれを言うことができ、あなたの意図したアプリケーションの詳細を知らなくても

答えて

1

ビューから直接にあなたのデータベーステーブルを更新することはできますか?

はい、これは実際にはあなたがこの場合に行うべきことです!データをAPIに直接送信します。あなたのAPIは、すべてのデータ検証を行い、データ検証が失敗した場合はエラーメッセージ(JSONやXMLなどの標準化された形式)を返す必要があります。これを行う際の大きな利点は、呼び出し元がAPIを使用でき、それだけで完全なエコシステムになることです。

1

通常は、可能な場合は、あなたの意見のうちのいずれかの処理ロジック(PHP)を試してみておきたいです。コントローラー全体のポイントは、モデルからのトランザクション操作を処理し、それをビューに渡すことです。したがって、APIを使用して、サービス内のビューで使用/操作されるデータを収集する場合、その論理的な場所はコントローラ内にあります。

MVCパターンは、XがYに入り、YがZに入るという厳しい法則ではありません。データ収集、処理ロジック、およびビジュアルレイアウトの拡張と抽象化を容易にするパターンです。

技術的には、アプリケーションに応じて、APIのモデルを作成して、APIを書き直す必要なく複数のコントローラで使用できるようにすることができます。

関連する問題