web-dev-qa-db-ja.com

CRUDデータベースアプリケーションをRESTアプリケーションにするにはどうすればよいですか?

CRUD vs RESTを読んでいて、それらがどのように似ているか混乱している可能性があります。そのため、明示的に質問したいと思います。CRUDアプリケーションをRESTアプリケーションに変換できますか特定のシナリオがあり、そうすることで何かメリットがありますか?

私の既存のCRUDアプリケーションは、ほとんどがパッシブであるMySQLテーブルのデータを使用しますが、時々それを更新する必要があります。私の場合、データは時々変更または修正されるモーターのさまざまな寸法と仕様を表しています。データをインプレースで変更する代わりに、データがバージョン管理され、履歴レコードが保持される、同様の「より高い概念」のユースケースもあります。つまり、データの現在の「行」は最初に非アクティブ化されますが、それ以外の場合はデータベースに残され、新しいデータ行が新しいバージョン番号で追加され、アクティブになります。その新しいデータは、その後のモーター計算のために読み込まれます。

CRUDには次の部分があります。*データを「追加/編集」スクリプトに転送する送信するHTMLフォーム。追加/更新されたデータを表示する「表示」スクリプトにリダイレクトします。

これをRESTアプリケーションに変換する方法、または必要な場合、またはそうすることで私の人生や誰かの人生がより良くなるという手がかりがありません。

特定のユースケースをCRUDからRESTに変換することの意味のより具体的な例を教えてください。 URL、インターフェース、イベント処理などを変更する必要がありますか?

2
Dennis

[〜#〜] crud [〜#〜]は、データ指向アプリケーションで最もよく使用される4つのアクティビティを指す用語です。Create(Add、New)、- 読み取り(取得、取得リスト)、更新(変更)、削除(削除)。データベースに関して、CRUDは挿入選択更新削除 SQL-DML(データ操作言語)をマッピングします)コマンド。

[〜#〜] rest [〜#〜](Representational State Transfer)は、Webアプリケーション開発で使用される用語で、HTTP RESTFul Servicesが持つべき機能または制限を指定しますアカウントに:(1)Client-Server、(2)Stateless、(3)Cacheable、(4)niform Interface&(5)レイヤードシステム、(6)コードオンデマンド

整形式Webアプリ用のレイヤードアーキテクチャほとんどの場合、3つのレイヤーFrontedMiddlewareBackendが含まれます。 RESTサービスは、ミドルウェアまたは直接バックエンドで構築できます。たとえば、アプリをStrong Standardized Frameworksでビルドすることを考えている場合、Frontendを使用してビルドするとしますGoogles Angular JSミドルウェアサービスNode JS &Express JSおよびBackend。NET Web APIに依存します。

RESTはHTTP動詞を使用してCRUD操作をマップします:GET(読み取り)、POST(作成)、Put(更新) &削除(削除)RESTful準拠サービスがHTTP動詞を使用してCRUD操作を実行することが重要です。フロントエンド側では、RESTを使用するためのJavaScriptコードサービス移行は次のようになります。

angular.module('RESTApp', [])
.controller('CtrlUsers', function($scope, $http) {
    $http.get('http://appdomain.restAPI/users', {id: 1}).
        then(function(response) {
            $scope.data = response.data;
        });
});

最後に、レイヤードアプリケーションを定義するための最新の構造パターンでは、Model View ControllerASP.Net MVC、Spring MVC、PHP Laravel、...)デザインパターン。データアクセスの場合、よく知られているORMs Frameworksなど。Net Entity FrameworkまたはHibernateはリレーショナルデータベースにアクセスするために使用されます整形式のRESTfulアプリケーションを設計および構築するするためには、これらすべてを理解する必要があります。

4
ArBR