私が見つけたdropwizardの例を探しています:
https://github.com/codahale/dropwizard/tree/master/dropwizard-example
しかし、私は少なくとも次のようなより完全な例に興味があります。
- 顧客のような1:nの関係-アカウント
- 少なくともフォームを使用したhtmlGUI表現
- xmlの完全なクラッドサポート
3つのうち2つがスタートであり、私に「受け入れられた」となるでしょう。
私が見つけたdropwizardの例を探しています:
https://github.com/codahale/dropwizard/tree/master/dropwizard-example
しかし、私は少なくとも次のようなより完全な例に興味があります。
3つのうち2つがスタートであり、私に「受け入れられた」となるでしょう。
私のDropwzard プロジェクトのいくつかを見てみましょう
特に、MultiBit Merchantプロジェクト (Admin、Store、および Platform) は、Dropwizard で作業を行う方法を示す豊富なデモ コードを提供します。また、Dropwizard を使用した OpenID の例もあり、新しいアプリケーションの出発点として適しています。
これらはすべて MIT ライセンスの FOSS です。
ヴォルフガング
これは、Hibernate を使用した認証、構成、およびデータベース アクセスが使用されているDropwizard アプリケーションの例です。
アプリケーションについては、いくつかのチュートリアルで説明されています。
認証済みユーザーのブックマークを保存し、REST API 経由でデータにアクセスできる別の例を次に示します。
幸運を。
これも良い例のようです: https://github.com/spinscale/dropwizard-blog-sample
認証付きのドロップウィザードが必要な良い例です。
Dropwizard: 認証、構成、および HTTPS https://dzone.com/articles/getting-started-dropwizard-0
Dropwizard XML Bundleプロジェクトで例を書きました。
https://github.com/yunspace/dropwizard-xml/tree/master/dropwizard-xml-example
それはおそらくあなたが探しているものに最も近いものです。それは持っています:
Freemarker または Mustache テンプレートを介して HTML gui を追加することは非常に簡単で、標準ドキュメントで説明されています。
このプロジェクトは Github から試すことができます。
Dropwizard: CRUD 操作、HTML ビュー、ヘルスチェック
以下の手順に従ってください。
pom ファイルに依存関係を追加する
<dependencies>
<dependency>
<groupId>com.yammer.dropwizard</groupId>
<artifactId>dropwizard-core</artifactId>
<version>0.6.2</version>
</dependency>
構成クラスの作成
import com.yammer.dropwizard.config.Configuration;
public class BlogConfiguration extends Configuration{
}
サービスクラスを作成する
import com.yammer.dropwizard.Service;
import com.yammer.dropwizard.config.Bootstrap;
import com.yammer.dropwizard.config.Environment;
public class BlogService extends Service<BlogConfiguration> {
public static void main(String[] args) throws Exception {
new BlogService().run(new String[] { "server",
"C:\\LocalEnv\\Workspace\\dropwizarddemo\\configuration.yml" });
}
@Override
public void initialize(Bootstrap<BlogConfiguration> bootstrap) {
bootstrap.setName("blog");
}
@Override
public void run(BlogConfiguration configuration,
Environment environment) throws Exception {
environment.addResource(new IndexResource());
}
}
注:configuration.ymlファイルの下に現在のディレクトリを置きます
# HTTP-specific options.
http:
# The port on which the HTTP server listens for service requests.
port: 8079
# The port on which the HTTP server listens for administrative
# requests.
adminPort: 8179
# Maximum number of threads.
maxThreads: 100
# Minimum number of thread to keep alive.
minThreads: 10
4. インデックス リソースを書き込みます。
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;
import com.yammer.metrics.annotation.Timed;
@Path("/")
public class IndexResource {
@GET
@Produces(value = MediaType.APPLICATION_JSON)
@Timed
public List<Blog> index() {
return Arrays.asList(new Blog("for Java Developers",
"http://stackoverflow.com/questions/13345693/looking-for-a-dropwizard-
example”));
}
@Path("/service")
@GET
@Produces(value = MediaType.APPLICATION_JSON)
@Timed
public List<Users> users() {
List<Users> list = new ArrayList<Users>();
list.add(new Users(25,"Sambhu","SA"));
list.add(new Users(35,"Amit","VP"));
list.add(new Users(45,"Sanket","AVP"));
return list;
}
}
ブログやユーザー向けにPOJOを書く
public class Users {
Integer id;
String name;
String designation;
public Users(Integer id, String name, String desination){
this.id=id;
this.name=name;
this.designation=desination;
}
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getDesignation() {
return designation;
}
public void setDesignation(String designation) {
this.designation = designation;
}
@Override
public String toString() {
return "Users [id=" + id + ", name=" + name + ", designation="
+ designation + "]";
}
Jetty サーバーを起動し、 http://localhost:8079/などのポートでローカルホストにアクセスする BlogService を実行します。