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.MediaTypeHAL 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.CacheControldetermineCacheControlFor(InitializrMetadata metadata) Return theCacheControlresponse headers to use for the specifiedmetadata.voidinvalidMetadataRequest(jakarta.servlet.http.HttpServletResponse response, InvalidInitializrMetadataException ex) voidinvalidProjectRequest(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 theCacheControlresponse 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-Controlheaders to use
-