Skip to content

Latest commit

 

History

History

initializr-service-sample

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 

Service sample

This sample demonstrates how you can create your own service easily as described in the reference documentation.

Running the service

You can start the service from the command line:

$ ../mvnw spring-boot:run

Or, better yet, run the ServiceApplication main method from your favourite IDE.

Generating a project

If you go to localhost:8080 with your browser, you’ll get a json document that describes the capabilities of the service. There are several ways you can generate a project.

If you have HTTPie installed, try the following:

$ http :8080

If you prefer to use cURL, try this instead:

$ curl localhost:8080

If you have the spring CLI installed, you can also use it as follows:

$ spring init --target http://localhost:8080 --list

Finally, you can configure your IDE to point to another service instance.

Configuration

There are two main customizations to the sample.

Metadata Update Strategy

First, ServiceApplication has a dedicated strategy to update the metadata with the available Spring Boot versions from https://spring.io. When you issue your first request, you should see something like the following:

Fetching Spring Boot metadata from https://api.spring.io/projects/spring-boot/releases

On further request, you won’t see this log entry as the content is cached. There are no expiration set, so the available versions won’t change until you restart the service.

Basic Metadata

The configuration in application.yml is very simple with a single web dependency that brings spring-boot-starter-web. The default groupId for generated projects has been customized to org.acme.

You can experiment by adding more dependencies or other elements that drive how projects are generated.