Class ProjectMetadataController
java.lang.Object
io.spring.initializr.web.controller.AbstractMetadataController
io.spring.initializr.web.controller.ProjectMetadataController
RestController
that exposes metadata and service configuration.- Author:
- Stephane Nicoll
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final org.springframework.http.MediaType
HAL JSON content type.Fields inherited from class io.spring.initializr.web.controller.AbstractMetadataController
metadataProvider
-
Constructor Summary
ConstructorsConstructorDescriptionProjectMetadataController
(InitializrMetadataProvider metadataProvider, DependencyMetadataProvider dependencyMetadataProvider) -
Method Summary
Modifier and TypeMethodDescriptionconfig()
org.springframework.http.ResponseEntity<String>
dependenciesV21
(String bootVersion) org.springframework.http.ResponseEntity<String>
dependenciesV22
(String bootVersion) protected org.springframework.http.CacheControl
determineCacheControlFor
(InitializrMetadata metadata) Return theCacheControl
response headers to use for the specifiedmetadata
.void
invalidMetadataRequest
(jakarta.servlet.http.HttpServletResponse response, InvalidInitializrMetadataException ex) void
invalidProjectRequest
(jakarta.servlet.http.HttpServletResponse response, InvalidProjectRequestException ex) org.springframework.http.ResponseEntity<String>
org.springframework.http.ResponseEntity<String>
org.springframework.http.ResponseEntity<String>
org.springframework.http.ResponseEntity<String>
Methods inherited from class io.spring.initializr.web.controller.AbstractMetadataController
createUniqueId, generateAppUrl
-
Field Details
-
HAL_JSON_CONTENT_TYPE
public static final org.springframework.http.MediaType HAL_JSON_CONTENT_TYPEHAL JSON content type.
-
-
Constructor Details
-
ProjectMetadataController
public ProjectMetadataController(InitializrMetadataProvider metadataProvider, DependencyMetadataProvider dependencyMetadataProvider)
-
-
Method Details
-
config
@GetMapping(path="/metadata/config", produces="application/json") public InitializrMetadata config() -
serviceCapabilitiesHal
@GetMapping(path={"/","/metadata/client"}, produces="application/hal+json") public org.springframework.http.ResponseEntity<String> serviceCapabilitiesHal() -
serviceCapabilitiesV22
@GetMapping(path={"/","/metadata/client"}, produces="application/vnd.initializr.v2.2+json") public org.springframework.http.ResponseEntity<String> serviceCapabilitiesV22() -
serviceCapabilitiesV21
@GetMapping(path={"/","/metadata/client"}, produces={"application/vnd.initializr.v2.1+json","application/json"}) public org.springframework.http.ResponseEntity<String> serviceCapabilitiesV21() -
serviceCapabilitiesV2
@GetMapping(path={"/","/metadata/client"}, produces="application/vnd.initializr.v2+json") public org.springframework.http.ResponseEntity<String> serviceCapabilitiesV2() -
dependenciesV22
-
dependenciesV21
-
invalidMetadataRequest
@ExceptionHandler public void invalidMetadataRequest(jakarta.servlet.http.HttpServletResponse response, InvalidInitializrMetadataException ex) throws IOException - Throws:
IOException
-
invalidProjectRequest
@ExceptionHandler public void invalidProjectRequest(jakarta.servlet.http.HttpServletResponse response, InvalidProjectRequestException ex) throws IOException - Throws:
IOException
-
determineCacheControlFor
protected org.springframework.http.CacheControl determineCacheControlFor(InitializrMetadata metadata) Return theCacheControl
response headers to use for the specifiedmetadata
. If no cache should be appliedCacheControl.empty()
can be used.- Parameters:
metadata
- the metadata about to be exposed- Returns:
- the
Cache-Control
headers to use
-