Поиск примера dropwizard - программирование
Подтвердить что ты не робот

Поиск примера dropwizard

В поисках примера dropwizard я нашел:

https://github.com/codahale/dropwizard/tree/master/dropwizard-example

Но я интересуюсь более полным примером, по крайней мере:

  • отношение 1: n как клиент - учетная запись
  • представление html gui по крайней мере с формами
  • полная поддержка crud для xml

2 из трех были бы началом и заработали бы "принятые" мной.

4b9b3361

Ответ 1

Посмотрите на некоторые из моих проектов Dropwzard

В частности, проекты MultiBit Merchant (Admin, Store и Platform) предоставят вам богатый демонстрационный код, который показывает, как сделать что-то в Dropwizard. Также есть пример OpenID с Dropwizard, который должен стать хорошей отправной точкой для нового приложения.

Они все FOSS под лицензией MIT.

Ответ 2

Вольфганг,

здесь пример приложения Dropwizard, где используются аутентификация, конфигурация и доступ к базе данных с использованием Hibernate.

Приложение обсуждается в нескольких учебниках:

И здесь - еще один пример, где можно хранить закладки для аутентифицированных пользователей и получать доступ к данным через REST API.

Удачи.

Ответ 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 должно быть довольно тривиальным и рассматривается в стандартных документах.

Ответ 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;
    }


  }
  1. Напишите 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 + "]";
    }
    
  2. Запустите BlogService, который запустит сервер Jetty и ударит локальный хост с помощью порта, такого как      http://localhost:8079/