Giter Site home page Giter Site logo

mastermind1981 / generator-aurelia-dropwizard Goto Github PK

View Code? Open in Web Editor NEW

This project forked from rayokota/generator-aurelia-dropwizard

0.0 3.0 0.0 636 KB

Yeoman generator for Aurelia + Dropwizard

License: MIT License

JavaScript 66.71% Java 21.09% HTML 11.67% CSS 0.53%

generator-aurelia-dropwizard's Introduction

The Aurelia-Dropwizard generator

A Yeoman generator for Aurelia and Dropwizard.

Installation

Install Git, node.js, JDK 7, and Maven 3.

Install Gulp and jspm:

npm install -g gulp

npm install -g jspm

Install Yeoman:

npm install -g yo

Install the Aurelia-Dropwizard generator:

npm install -g generator-aurelia-dropwizard

Creating a Dropwizard service

In a new directory, generate the service:

yo aurelia-dropwizard

Compile the service:

mvn compile && gulp build

Run the service:

mvn exec:exec -pl [myapp]-service

Your service will run at http://localhost:8080. It's time to create some resources.

Creating a resource class

Generate the resource:

yo aurelia-dropwizard:resource [myresource]

You will be asked to specify methods for the resource, where each method has the following:

  • a name
  • a type (GET, POST, PUT, DELETE, HEAD)
  • a URI path template, such as /users/{userId}/orders/{orderId}
  • for a POST method, an optional list of form parameters

Files that are regenerated will appear as conflicts. Allow the generator to overwrite these files as long as no custom changes have been made.

Compile and rerun the service:

mvn compile && gulp build

mvn exec:exec -pl [myapp]-service

You can now invoke HTTP requests against your service, such as

curl -X POST localhost:8080/myapp/myresource/users/1/orders/2 \
	 -d "formParam1=hello&formParam2=world"

Creating a persistent entity

Generate the entity:

yo aurelia-dropwizard:entity [myentity]

You will be asked to specify attributes for the entity, where each attribute has the following:

  • a name
  • a type (String, Integer, Long, Float, Double, Boolean, Date, Enum)
  • for a String attribute, an optional minimum and maximum length
  • for a numeric attribute, an optional minimum and maximum value
  • for a Date attribute, an optional constraint to either past values or future values
  • for an Enum attribute, a list of enumerated values
  • whether the attribute is required

Compile and rerun the service:

mvn compile && gulp build

mvn exec:exec -pl [myapp]-service

A client-side Aurelia application will now be available by running

gulp watch

The Gulp server will run at http://localhost:9000. It will proxy REST requests to the Dropwizard service running at http://localhost:8080.

At this point you should be able to navigate to a page to manage your persistent entities.

The Gulp server supports hot reloading of client-side HTML/CSS/Javascript file changes, while the Dropwizard service supports hot reloading of Java class file changes.

generator-aurelia-dropwizard's People

Watchers

 avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.