= Spring HATEOAS Examples

image:https://jenkins.spring.io/buildStatus/icon?job=spring-hateoas-examples%2Fmaster&subject=master[link=https://jenkins.spring.io/view/SpringHATEOAS/job/spring-hateoas-examples/]
image:https://jenkins.spring.io/buildStatus/icon?job=spring-hateoas-examples%2F0.x&subject=0.x[link=https://jenkins.spring.io/view/SpringHATEOAS/job/spring-hateoas-examples/]

This repository contains example projects to interact with Spring HATEOAS.

* Learn how to interact with a Spring HATEOAS-powered app, from inside as well as the command line.
* See how to upgrade a REST resource without having to create new mediatypes, version URIs, etc.

We have separate folders for each of these:

== Spring HATEOAS Modules

* link:basics[Basics] - Poke and prod at a hypermedia-powered service from inside the code as well as externally using standard tools
* link:api-evolution[API Evolution] - Upgrade an existing REST resource
* link:hypermedia[Hypermedia] - Create hypermedia-driven REST resources, linking them together, and supporting older links.

=== Making a release

1. Create a new release (on the main branch).
+
----
% ci/create-release.sh <release version> <next snapshot version>
----
+
2. With the release tagged, push the tagged version to the release branch.
+
----
% git checkout -b release-0.x
% git reset --hard <tag>
% git push -f origin release-0.x
----

NOTE: You can chain the previous set of commands together using `&&`.

The pipeline will build and release the "release-0.x" branch. It will also build a new a new snapshot and stage it on artifactory.
