10

私が RESTful API に詳しくなるにつれて、アプローチの (良い) シンプルさは、多くのボイラープレート コードと、3 つまたは 4 つの異なる場所で一致する必要があるコードを生成することを意味します。たとえば、Jersey ベースのスタックの場合です。

  1. Create Fooコントロール (ボタン)を提供する Web ページ上の HTML
  2. JSON と Foo を作成するリクエストを作成する Web ページ上の JS
  3. FooRestリクエストを処理して Foo を作成するクラスメソッド
  4. データ構造を操作する、インスタンス化するFooクラス

このコードの一部またはすべての開始点を自動的に提供するツールはありますか? JSON データ構造のような単純なものから開始する可能性がありますか? 例:

card: {
  methods: [GET],
}
handOfCards: {
  methods: [GET POST PUT DELETE],
}

少なくとも Ajax リクエスト、指定されたメソッドがスタブ化された CardRest および HandOfCardsRest クラス、およびプロパティまたはゲッター/セッターを含む Card および HandOfCards クラスで終わるのでしょうか?

4

5 に答える 5

3

Backbone.jsを試しましたか?これは、RESTAjaxリクエストを処理するJavaScriptライブラリです。これにより、データをラップするモデルを定義し、セッター、ゲッター、保存および削除機能などを提供できます。

また、UIHTMLを生成するビューにモデルをバインドすることもできます。

于 2012-06-18T19:32:45.157 に答える
1

ほぼすべての*railsアプリケーションがこれらすべてを実行すると思います。Grailsは今のところ私のお気に入りです。初期設定(単一のコマンド)が完了したら、別のコマンドでドメインクラスを作成します。

これらが作成されると、1つのコマンドでこれらすべてのアクションを処理するためのビュー(html)とコントローラーの両方を生成できます。ボイラープレートは、多くの初期サイトに十分です。実際のテストの実行内容を定義する必要がありますが、テストケースも作成されます。慣例により非常に簡単にプログラムすることも、URL->コントローラーアクションから独自のマッピングを作成することもできます。大量のプラグインサポートがあり、組み込みのフォームのリモート送信(javascriptを介して)を簡単に処理します。

作成にjsonデータ構造は必要ありませんが、ドメインは非常に簡単に作成され(groovyを使用)、Spring Frameworkに基づいているため、ゲッター/セッター、サービスインジェクションなどを自動配線します。

于 2012-06-22T22:39:59.713 に答える
1

あなたの目標は、おそらくボイラープレートのコード生成ではなく、実際には少ないコードを書くことであるべきです。

Sparkは、 Sinatraに基づく Java マイクロ Web フレームワークです。

コード例を次に示します。

import static spark.Spark.*;
import spark.*;

public class HelloWorld {
    public static void main(String[] args) { 
        get(new Route("/") {
           @Override
           public Object handle(Request request, Response response) {
              // .. Show something ..
           }
        });

        post(new Route("/") {
           @Override
           public Object handle(Request request, Response response) {
              // .. Create something .. 
           }
        });

        put(new Route("/") {
           @Override
           public Object handle(Request request, Response response) {
              // .. Update something ..
           }
        });

        delete(new Route("/") {
           @Override
           public Object handle(Request request, Response response) {
              // .. annihilate something ..
           }
        });

        options(new Route("/") {
           @Override
           public Object handle(Request request, Response response) {
              // .. appease something ..
           }
        });
    }
}
于 2012-06-20T18:21:20.807 に答える
1

Juan's answerの代替 (または追加) として、 Knockback.jsをチェックしてみてください。これは Knockout を最大限に活用し、 Backbone.jsのベストを追加します。バックボーンは、「同期」機能を介して RESTful API をサポートしています。彼らのウェブサイトを引用する:

Backbone.sync のメソッド シグネチャは sync(method, model, [options]) です。

method – the CRUD method ("create", "read", "update", or "delete")
model – the model to be saved (or collection to be read)
options – success and error callbacks, and all other jQuery request options
于 2012-06-20T19:59:46.367 に答える
0

別のアプローチをまったく試して、 project lombokのようなものを試してみてください。少なくとも、すべてのゲッターとセッターを nix できるようになります。

于 2012-06-15T15:52:57.477 に答える