問題タブ [dropwizard]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
google-app-engine - DropwizardをGoogleAppEngineにデプロイする
DropwizardアプリをGoogleAppEngineにデプロイする方法を模索してきましたが、今のところ何も見つかりません。
この質問(そして答え)から判断すると、それは不可能かもしれないと思います。私はそれについて確信したいと思います、そしてそれがうまくいくなら、私はその方法を学びたいです。
warwizardと呼ばれるdropwizardフォークがあり、dropwizardコードからwarファイルを作成できるようですが、6か月以上触れられていないため、dropwizardドキュメントの使用が困難になる可能性があります。
jersey - Dropwizard - フィルターは、定義された応答ステータスではなく、500 サーバー エラーを返します。
フィルターがあります-TimeValidationFilter が次のように Web サービスに追加されました。
私の TimeValidationFilter は、この段階で startTime と endTime が null かどうかを確認しているだけです:
startTime と endTime が正しく取得されている場合、BlablaResourceImpl からの応答ステータスは、応答コード 200、400、201 をすべて正しく返しています。
startTime と endTime を指定せずにリクエストを行うと、400(Response.Status.BAD_REQUEST) が表示されることを期待しています。しかし、代わりに500サーバーエラーと以下の例外が発生します:
jersey - Dropwizard リソースのテスト コンテナーとして Grizzly を使用する
このGrizzlyResourceTest.javaを dropwizard v0.6.1 で動作させようとしています。テスト コンテナーとして grizzly を使用する理由は、InMemoryTestContainer が注入可能なコンストラクターを持つリソースをサポートしていないためです。詳しくは、この問題を参照してくださいInMemoryTestContainer は注入可能なコンストラクターを持つリソースをサポートしていません
com.yammer.dropwizard.json.Json と com.yammer.dropwizard.bundles.JavaBundle は v0.6.1 にはもうないので、これらのクラスに関連する行をコメントアウトするだけです。
myMethod(@Context HttpServletRequest request) のようなリソース クラスに HttpServletRequest を挿入しているため、私のケースはより複雑です。ここでは、dropwizard-example の下で PersonResource を使用します。
QuickTest.java は次のようになります。
QuickTest を実行すると、コンソールから表示されるエラーは次のとおりです。
何か案は?
java - Dropwizardにメトリックを追加する
Dropwizardが管理ポート(8081)で提供するデフォルトのものにカスタムメトリックを追加するにはどうすればよいですか?ヘルスチェックを追加する以外に、ドキュメントには何も見つかりません。MongoDBから取得したいくつかの統計情報を組み込みたいので、ポート8080でカスタムメトリックページを作成するよりも、8081の管理リソースに保持したいと思います。
java - ドロップウィザードのユニット テスト ビュー
drowpizard リソースから返されたビューが正しく組み立てられていることをテストしようとしています。具体的には、ユーザーを追加するビューには、特定のルールを満たさない場合にパスワード チェッカーがユーザーの作成を拒否できるようにするフィールドがあります。ビューは、webapp をデプロイして実行し、不適切なパスワードを指定するとうまく機能しますが、単体テストを実行しようとすると、ビューにメッセージ本文ライターがないことを示す Web アプリケーション例外がスローされます。
私の単体テストはかなり単純です:
サーバー 500 エラーが返されますが、これは次の中に埋もれています。
リクエストを処理し、ビューとレスポンスを生成するリソースは次のようになります。
私は例外を理解できます (StringProvider や ByteArrayProvider のように、それが知っているライターは、応答やビューなどに対しては機能しません) が、どちらかの応答を返すことができるリソースを適切にテストする方法を知りたいです。コード、またはビュー。
liquibase - dropwizard-migrations の使用: liquibase.logging.Logger の実装が見つかりませんでした
原因がわからないかなり奇妙な例外が発生しています。を実行するdb status
と、次のようになります。
解決方法がわかりません。少しグーグルで調べてみると、過去にLiquibaseでバグ修正が行われた、やや断続的な問題のようです。このような統合された機能でこれが起こるとは思っていませんでした。dropwizard-core/hibernate/migrations 0.6.2 を使用しています。私は com.smokejumperit.gradle.OneJarPlugin gradle プラグインを使用してすべてをパッケージ化しています。これは、クラスの読み込みにも関与していると思います。
とにかく、私は少し途方に暮れています。何か案は?これを前に見た人はいますか?
java - Dropwizard - プロジェクトの整理、用語の理解など
Dropwizardの使い方を学んでいます。クイックスタート ガイドに従って、基本的な REST API を実行することができました。
このドキュメントには、「プロジェクトの編成」というセクションがあります。
プロジェクトを次の部分に編成することをお勧めします: project-api、project-client、project-service。
ここに私の質問/クエリがあります:
「api」、「service」、「client」の違いを大まかに説明してください。
dropwizard を使用して上記の規則に厳密に従う例はありますか?
「...project-client はこれらのクラスと HTTP クライアントを使用して、サービスに本格的なクライアントを実装する必要があります」 --- 「project-service」には REST API があるため、HTTP クライアントを使用する必要があるのはなぜですか?
ありがとう!
java - Dropwizard: プログラムでサービスを停止する方法
サービスを開始するには、 を使用することを知っていますnew MyService().run(args)
。それを止める方法は?
テストのためsetUp()
に、プログラムで開始および停止する必要があります。tearDown()
rest - クライアント側での認証エラーの処理
現在、サーバー側で Dropwizard を使用し、クライアント側で RequireJS、バックボーンを使用して、REST アプリケーションに取り組んでいます。
当社の認証モデルは Cookie ベースです。要求ごとに、Web フィルターが適切な Cookie とその値であるトークンをチェックします。トークンがまだ有効な場合は、フィルター チェーンでリクエストを転送し、そうでない場合は 401 で応答します。
クライアント側では、次のようになります。
このアプローチの唯一の欠点は、クライアントがログイン ページにリダイレクトされる前に実際のページをダウンロードする必要があることです (もちろん 401 の場合)。
たとえば、a.html と b.html の 2 つのページがあります。クライアントがページa.htmlを閲覧していて、しばらくしてそのトークンの有効期限が切れた場合、まずバックグラウンドで ajax リクエストを実行するb.htmlをダウンロードする必要があります (上記を参照)。その後、ログイン ページにリダイレクトできます。 :
これまで、作成したすべての REST アプリケーションでこのようなスタイルのエラー処理を使用していました。私が見たいのは、たとえば次のとおりです。
ただし、これには、たとえば、サーバー側のフィルターでログイン ページの URL をハードコーディングし、通常はサーバー側のコードにロジックを結び付ける必要があります。
クライアント側でサーバー認証エラーを処理するためのより良い方法があると確信しており、それらについて知りたいです。