mirror of
https://gitee.com/dcren/initializr.git
synced 2025-04-04 23:54:54 +08:00
![]() This commit updates (again) the URL used by Initializr clients to fetch metadata for the Spring Boot project. Since the Sagan application is being retired, this API has now migrated to https://api.spring.io See gh-1369 |
||
---|---|---|
.. | ||
src/main | ||
pom.xml | ||
README.adoc |
= Service sample :docs: https://docs.spring.io/initializr/docs/current-SNAPSHOT/reference/html This sample demonstrates how you can create your own service easily as described in the {docs}/#create-instance[reference documentation]. == Running the service You can start the service from the command line: [indent=0] ---- $ ../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: [indent=0] ---- $ http :8080 ---- If you prefer to use `cURL`, try this instead: [indent=0] ---- $ curl localhost:8080 ---- If you have the `spring` CLI installed, you can also use it as follows: [indent=0] ---- $ 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: [indent=0] ---- 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.