Поиск примера dropwizard
В поисках примера dropwizard я нашел:
https://github.com/codahale/dropwizard/tree/master/dropwizard-example
Но я интересуюсь более полным примером, по крайней мере:
- отношение 1: n как клиент - учетная запись
- представление html gui по крайней мере с формами
- полная поддержка crud для xml
2 из трех были бы началом и заработали бы "принятые" мной.
Ответы
Ответ 1
Посмотрите на некоторые из моих проектов Dropwzard
В частности, проекты MultiBit Merchant (Admin, Store и Platform) предоставят вам богатый демонстрационный код, который показывает, как сделать что-то в Dropwizard. Также есть пример OpenID с Dropwizard, который должен стать хорошей отправной точкой для нового приложения.
Они все FOSS под лицензией MIT.
Ответ 2
Вольфганг,
здесь пример приложения Dropwizard, где используются аутентификация, конфигурация и доступ к базе данных с использованием Hibernate.
Приложение обсуждается в нескольких учебниках:
И здесь - еще один пример, где можно хранить закладки для аутентифицированных пользователей и получать доступ к данным через REST API.
Удачи.
Ответ 3
Это также выглядит как хороший пример: https://github.com/spinscale/dropwizard-blog-sample
Ответ 4
Я написал пример в проекте Dropwizard XML Bundle:
https://github.com/yunspace/dropwizard-xml/tree/master/dropwizard-xml-example
Это, вероятно, самое близкое к тому, что вы ищете. Он имеет:
- 1: N между пиратами и кораблями, хранящимися в H2 db.
- Полная поддержка CRUD для XML с использованием пользовательского метода JacksonMessageBodyProvider с проверкой.
Добавление HTML gui через шаблоны Freemarker или Mustache должно быть довольно тривиальным и рассматривается в стандартных документах.
Ответ 5
Хороший пример, который хочет иметь dropwizard с аутентификацией.
Dropwizard: аутентификация, настройка и HTTPS
https://dzone.com/articles/getting-started-dropwizard-0
Ответ 6
Вы можете попробовать этот проект из Github.
Dropwizard: операция CRUD, просмотры HTML, проверка состояния здоровья
https://github.com/HoldInArms/dropwizard-mssql-crud-example
Ответ 7
следовать ниже.
-
Добавить зависимости в файле 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());
}
}
Примечание: поставьте ниже файл config.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/info/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 + "]";
}
-
Запустите BlogService, который запустит сервер Jetty и ударит локальный хост с помощью порта, такого как http://localhost:8079/