From f9c512373e2ff20da8c31048122917edde91c537 Mon Sep 17 00:00:00 2001 From: ialbert Date: Thu, 27 Oct 2022 12:27:48 +0300 Subject: [PATCH] http://jira.mfd.msk:8088/browse/CLS-181 get meta.json method --- .gitignore | 1 + clearing-parent/backend-api/pom.xml | 24 ++++++++++++++ .../backendapi/config/MetaConfiguration.java | 21 +++++++++++++ .../controller/system/MetaController.java | 31 +++++++++++++++++++ 4 files changed, 77 insertions(+) create mode 100644 clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/config/MetaConfiguration.java create mode 100644 clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/controller/system/MetaController.java diff --git a/.gitignore b/.gitignore index cccaef9ea..e0561bef5 100644 --- a/.gitignore +++ b/.gitignore @@ -4,3 +4,4 @@ target logs tmp_notes.** tmp +clearing-parent/backend-api/src/main/resources/meta.json diff --git a/clearing-parent/backend-api/pom.xml b/clearing-parent/backend-api/pom.xml index f904cac27..d0385f3f5 100644 --- a/clearing-parent/backend-api/pom.xml +++ b/clearing-parent/backend-api/pom.xml @@ -132,6 +132,30 @@ + + maven-resources-plugin + + + copy-meta + process-classes + + copy-resources + + + ${basedir}/src/main/resources + + + ${basedir}/target/generated-resources/xml/xslt + + meta.json + + false + + + + + + \ No newline at end of file diff --git a/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/config/MetaConfiguration.java b/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/config/MetaConfiguration.java new file mode 100644 index 000000000..163e13f8d --- /dev/null +++ b/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/config/MetaConfiguration.java @@ -0,0 +1,21 @@ +package ru.spcex.clearing.backendapi.config; + +import org.springframework.beans.factory.annotation.Value; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.core.io.Resource; + +import java.io.IOException; +import java.nio.file.Files; + +@Configuration +public class MetaConfiguration { + @Value("file:${spring.config.location}/meta.json") + private Resource meta; + + @Bean("metaJson") + public String metaJsonConfiguration() throws IOException { + if (!meta.isReadable()) throw new IllegalStateException("cannot read keycloak.json settings from spring.config.location"); + return Files.readString(meta.getFile().toPath()); + } +} diff --git a/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/controller/system/MetaController.java b/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/controller/system/MetaController.java new file mode 100644 index 000000000..191db70ae --- /dev/null +++ b/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/controller/system/MetaController.java @@ -0,0 +1,31 @@ +package ru.spcex.clearing.backendapi.controller.system; + +import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiResponse; +import io.swagger.annotations.ApiResponses; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Qualifier; +import org.springframework.http.MediaType; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.ResponseBody; + +@Controller +@RequestMapping("/meta") +public class MetaController { + private final String metaRawJson; + + @Autowired + public MetaController(@Qualifier("metaJson") String meta) { + this.metaRawJson = meta; + } + + @ApiOperation(value = "get meta.json") + @ApiResponses(value = {@ApiResponse(code = 200, message = "OK" /*response = DictionaryBackendGetAll.class*/)}) + @RequestMapping(method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE) + @ResponseBody + public String getAll() { + return metaRawJson; + } +}