Getting started with Provider Data API r2
This guide covers setting up and running the Provider Data API r2 locally.
Prerequisites
- Java 25 or later
- Gradle (recommend using the included Gradle wrapper)
Clone the repository
git clone https://github.com/ministryofjustice/laa-provider-data-platform.git
cd laa-provider-data-platform
Build from source
Build the application:
./gradlew clean build
Run integration tests:
./gradlew integrationTest
Run the application
Start the application locally:
./gradlew bootRun
OAuth2 quick start (optional)
OAuth2 is disabled by default. Enable it only when validating Entra-based authentication:
export OAUTH2_ISSUER_URI=https://login.microsoftonline.com/<tenant-id>/v2.0
export OAUTH2_AUDIENCE=api://<backend-api-application-id>
./gradlew bootRun
For full setup guidance, see OAuth2 authentication.
Application endpoints
REST API documentation
- Swagger UI: http://localhost:8080/swagger-ui/index.html
- OpenAPI specification (JSON): http://localhost:8080/v3/api-docs
Actuator endpoints
Run end-to-end tests
./gradlew :provider-data-e2e:e2eTest -Pe2e.env=local -De2e.authToken=Dummy1
Build container image
./gradlew bootBuildImage
Libraries used
- Spring Boot Actuator - Application monitoring endpoints
- Spring Boot Web - REST API implementation
- Spring Data JPA - Database access abstraction
- Springdoc OpenAPI - OpenAPI documentation generation
- MapStruct - Object mapping between DTOs and entities