From 4a91e1d129160e1225d7895a4e72c965b56fcea1 Mon Sep 17 00:00:00 2001 From: gudae01 Date: Mon, 28 Jul 2025 09:51:43 +0900 Subject: [PATCH] =?UTF-8?q?=EB=B2=84=EA=B7=B8=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- build.gradle | 15 +++-- gradle/wrapper/gradle-wrapper.properties | 2 +- .../mobidigimproject/common/api/Api.java | 52 --------------- .../mobidigimproject/common/api/Result.java | 54 ---------------- .../common/error/ErrorCode.java | 20 ------ .../common/error/ErrorCodeIfs.java | 10 --- .../config/filterconfig/FilterConfig.java | 18 ------ .../objectmapper/ObjectMapperConfig.java | 2 +- .../config/swagger/SwaggerConfig.java | 30 ++++----- .../controller/Controller.java | 23 ++++--- .../mobidigimproject/filter/LoggerFilter.java | 63 ------------------- .../service/SettingService.java | 12 ++-- src/main/resources/static/index.html | 8 +-- 13 files changed, 50 insertions(+), 259 deletions(-) delete mode 100644 src/main/java/org/mobidgim/mobidigimproject/common/api/Api.java delete mode 100644 src/main/java/org/mobidgim/mobidigimproject/common/api/Result.java delete mode 100644 src/main/java/org/mobidgim/mobidigimproject/common/error/ErrorCode.java delete mode 100644 src/main/java/org/mobidgim/mobidigimproject/common/error/ErrorCodeIfs.java delete mode 100644 src/main/java/org/mobidgim/mobidigimproject/config/filterconfig/FilterConfig.java delete mode 100644 src/main/java/org/mobidgim/mobidigimproject/filter/LoggerFilter.java diff --git a/build.gradle b/build.gradle index 12edfb7..30779b7 100644 --- a/build.gradle +++ b/build.gradle @@ -1,7 +1,7 @@ plugins { id 'java' - id 'org.springframework.boot' version '3.5.0' - id 'io.spring.dependency-management' version '1.1.7' + id 'org.springframework.boot' version '2.7.18' + id 'io.spring.dependency-management' version '1.0.15.RELEASE' } group = 'org.mobidgim' @@ -9,9 +9,16 @@ version = '0.0.1-SNAPSHOT' java { toolchain { - languageVersion = JavaLanguageVersion.of(17) + languageVersion = JavaLanguageVersion.of(8) } } +tasks.withType(JavaCompile).configureEach { + options.release = null; +} + +jar { + archiveClassifier.set("jdk8") +} repositories { mavenCentral() @@ -24,7 +31,7 @@ dependencies { annotationProcessor 'org.projectlombok:lombok:1.18.30' testImplementation 'org.springframework.boot:spring-boot-starter-test' testRuntimeOnly 'org.junit.platform:junit-platform-launcher' - implementation 'org.springdoc:springdoc-openapi-starter-webmvc-ui:2.0.3' +// implementation 'org.springdoc:springdoc-openapi-starter-webmvc-ui:2.0.3' } diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 37f853b..164080a 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.13-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-7.6-bin.zip networkTimeout=10000 validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME diff --git a/src/main/java/org/mobidgim/mobidigimproject/common/api/Api.java b/src/main/java/org/mobidgim/mobidigimproject/common/api/Api.java deleted file mode 100644 index f9f46e0..0000000 --- a/src/main/java/org/mobidgim/mobidigimproject/common/api/Api.java +++ /dev/null @@ -1,52 +0,0 @@ -package org.mobidgim.mobidigimproject.common.api; - -import jakarta.validation.Valid; -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; -import org.mobidgim.mobidigimproject.common.error.ErrorCodeIfs; - -@AllArgsConstructor -@NoArgsConstructor -@Data -public class Api { - - private Result result; - @Valid - private T body; - - public static Api OK(T Data){ - var api = new Api(); - api.result = Result.OK(); - api.body = Data; - return api; - } - - public static Api ERROR(String description){ - var api = new Api(); - api.result = Result.ERROR(description); - return api; - } - public static Api ERROR(Result result){ - var api = new Api(); - api.result = result; - return api; - } - public static Api ERROR(ErrorCodeIfs errorCodeIfs){ - var api = new Api(); - api.result = Result.ERROR(errorCodeIfs); - return api; - } - public static Api ERROR(ErrorCodeIfs errorCodeIfs, Throwable tx){ - var api = new Api(); - api.result = Result.ERROR(errorCodeIfs,tx); - return api; - } - public static Api ERROR(ErrorCodeIfs errorCodeIfs, String description){ - var api = new Api(); - api.result = Result.ERROR(errorCodeIfs,description); - return api; - } - - -} diff --git a/src/main/java/org/mobidgim/mobidigimproject/common/api/Result.java b/src/main/java/org/mobidgim/mobidigimproject/common/api/Result.java deleted file mode 100644 index 3eb2b12..0000000 --- a/src/main/java/org/mobidgim/mobidigimproject/common/api/Result.java +++ /dev/null @@ -1,54 +0,0 @@ -package org.mobidgim.mobidigimproject.common.api; - -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; -import org.mobidgim.mobidigimproject.common.error.ErrorCode; -import org.mobidgim.mobidigimproject.common.error.ErrorCodeIfs; - -@AllArgsConstructor -@NoArgsConstructor -@Data -@Builder -public class Result { - private Integer resultCode; - private String resultMessage; - private String resultDescription; - - public static Result OK(){ - return Result.builder() - .resultCode(ErrorCode.OK.getErrorCode()) - .resultMessage(ErrorCode.OK.getErrorDescription()) - .resultDescription("성공") - .build(); - } - public static Result ERROR(String description){ - return Result.builder() - .resultDescription(description) - .build(); - } - - public static Result ERROR(ErrorCodeIfs errorCodeIfs){ - return Result.builder() - .resultCode(errorCodeIfs.getErrorCode()) - .resultMessage(errorCodeIfs.getErrorDescription()) - .resultDescription("에러") - .build(); - } - public static Result ERROR(ErrorCodeIfs errorCodeIfs,Throwable tx){ - return Result.builder() - .resultCode(errorCodeIfs.getErrorCode()) - .resultMessage(errorCodeIfs.getErrorDescription()) - .resultDescription(tx.getLocalizedMessage()) - .build(); - } - public static Result ERROR(ErrorCodeIfs errorCodeIfs,String Description){ - return Result.builder() - .resultCode(errorCodeIfs.getErrorCode()) - .resultMessage(errorCodeIfs.getErrorDescription()) - .resultDescription(Description) - .build(); - } -} - diff --git a/src/main/java/org/mobidgim/mobidigimproject/common/error/ErrorCode.java b/src/main/java/org/mobidgim/mobidigimproject/common/error/ErrorCode.java deleted file mode 100644 index 85a03a7..0000000 --- a/src/main/java/org/mobidgim/mobidigimproject/common/error/ErrorCode.java +++ /dev/null @@ -1,20 +0,0 @@ -package org.mobidgim.mobidigimproject.common.error; - -import lombok.AllArgsConstructor; -import lombok.Getter; -import org.springframework.http.HttpStatus; - -@AllArgsConstructor -@Getter -public enum ErrorCode implements ErrorCodeIfs { - - OK(200, 200, "성공"), - BAD_REQUEST(HttpStatus.BAD_REQUEST.value(), 400, "잘못된 요청"), - NULL_POINT(HttpStatus.INTERNAL_SERVER_ERROR.value(), 512, "NULL POINT"), - SERVER_ERROR(HttpStatus.INTERNAL_SERVER_ERROR.value(), 500, "서버 에러"); - - private final Integer httpStatusCode; - private final Integer errorCode; - private final String errorDescription; - -} diff --git a/src/main/java/org/mobidgim/mobidigimproject/common/error/ErrorCodeIfs.java b/src/main/java/org/mobidgim/mobidigimproject/common/error/ErrorCodeIfs.java deleted file mode 100644 index 0c10d87..0000000 --- a/src/main/java/org/mobidgim/mobidigimproject/common/error/ErrorCodeIfs.java +++ /dev/null @@ -1,10 +0,0 @@ -package org.mobidgim.mobidigimproject.common.error; - -public interface ErrorCodeIfs { - - Integer getHttpStatusCode(); - - Integer getErrorCode(); - - String getErrorDescription(); -} diff --git a/src/main/java/org/mobidgim/mobidigimproject/config/filterconfig/FilterConfig.java b/src/main/java/org/mobidgim/mobidigimproject/config/filterconfig/FilterConfig.java deleted file mode 100644 index dee55c7..0000000 --- a/src/main/java/org/mobidgim/mobidigimproject/config/filterconfig/FilterConfig.java +++ /dev/null @@ -1,18 +0,0 @@ -package org.mobidgim.mobidigimproject.config.filterconfig; - -import org.mobidgim.mobidigimproject.filter.LoggerFilter; -import org.springframework.boot.web.servlet.FilterRegistrationBean; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; - -@Configuration -public class FilterConfig { - @Bean - public FilterRegistrationBean loggerFilter() { - FilterRegistrationBean registration = new FilterRegistrationBean<>(); - registration.setFilter(new LoggerFilter()); - registration.addUrlPatterns("/*"); - registration.setOrder(1); - return registration; - } -} \ No newline at end of file diff --git a/src/main/java/org/mobidgim/mobidigimproject/config/objectmapper/ObjectMapperConfig.java b/src/main/java/org/mobidgim/mobidigimproject/config/objectmapper/ObjectMapperConfig.java index 0bd2235..7479f50 100644 --- a/src/main/java/org/mobidgim/mobidigimproject/config/objectmapper/ObjectMapperConfig.java +++ b/src/main/java/org/mobidgim/mobidigimproject/config/objectmapper/ObjectMapperConfig.java @@ -14,7 +14,7 @@ public class ObjectMapperConfig { @Bean public ObjectMapper objectMapper() { - var objectMapper = new ObjectMapper(); + ObjectMapper objectMapper = new ObjectMapper(); objectMapper.registerModule(new Jdk8Module()); objectMapper.registerModule(new JavaTimeModule()); diff --git a/src/main/java/org/mobidgim/mobidigimproject/config/swagger/SwaggerConfig.java b/src/main/java/org/mobidgim/mobidigimproject/config/swagger/SwaggerConfig.java index 60407b9..dd5dd15 100644 --- a/src/main/java/org/mobidgim/mobidigimproject/config/swagger/SwaggerConfig.java +++ b/src/main/java/org/mobidgim/mobidigimproject/config/swagger/SwaggerConfig.java @@ -1,15 +1,15 @@ -package org.mobidgim.mobidigimproject.config.swagger; - -import com.fasterxml.jackson.databind.ObjectMapper; -import io.swagger.v3.core.jackson.ModelResolver; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; - -@Configuration -public class SwaggerConfig { - @Bean - public ModelResolver modelResolver(ObjectMapper objectMapper) { - return new ModelResolver(objectMapper); - } -} - +//package org.mobidgim.mobidigimproject.config.swagger; +// +//import com.fasterxml.jackson.databind.ObjectMapper; +//import io.swagger.v3.core.jackson.ModelResolver; +//import org.springframework.context.annotation.Bean; +//import org.springframework.context.annotation.Configuration; +// +//@Configuration +//public class SwaggerConfig { +// @Bean +// public ModelResolver modelResolver(ObjectMapper objectMapper) { +// return new ModelResolver(objectMapper); +// } +//} +// diff --git a/src/main/java/org/mobidgim/mobidigimproject/controller/Controller.java b/src/main/java/org/mobidgim/mobidigimproject/controller/Controller.java index 0e3e642..f6700df 100644 --- a/src/main/java/org/mobidgim/mobidigimproject/controller/Controller.java +++ b/src/main/java/org/mobidgim/mobidigimproject/controller/Controller.java @@ -1,7 +1,6 @@ package org.mobidgim.mobidigimproject.controller; import lombok.AllArgsConstructor; -import org.mobidgim.mobidigimproject.common.api.Api; import org.mobidgim.mobidigimproject.model.device.DeviceDTO; import org.mobidgim.mobidigimproject.model.register.RegisterDTO; import org.mobidgim.mobidigimproject.service.SettingService; @@ -29,31 +28,31 @@ public class Controller { private SettingService settingService; @PostMapping("/device") - public ResponseEntity> settingDevice(@RequestBody DeviceDTO request) throws IOException { + public ResponseEntity settingDevice(@RequestBody DeviceDTO request) throws IOException { try{ settingService.saveFileWithDevice(request); - return ResponseEntity.ok().body(Api.OK("저장성공")); + return ResponseEntity.ok("success"); }catch(IOException e){ - return ResponseEntity.internalServerError().body(Api.ERROR("저장실패")); + return ResponseEntity.ok("save failed"); } } @GetMapping("/get-device") - public ResponseEntity> getDevice() throws IOException { - var entity = settingService.readFileWithDevice(); - return ResponseEntity.ok().body(Api.OK(entity)); + public ResponseEntity getDevice() throws IOException { + DeviceDTO entity = settingService.readFileWithDevice(); + return ResponseEntity.ok(entity); } @PostMapping("/protocol") - public Api settingRegister(@RequestBody RegisterDTO request)throws IOException{ + public ResponseEntity settingRegister(@RequestBody RegisterDTO request)throws IOException{ settingService.saveFileWithRegister(request); - return Api.OK(request); + return ResponseEntity.ok(request); } @GetMapping("/get-protocol") - public Api getRegister() throws IOException { - var entity = settingService.readFileWithRegister(); - return Api.OK(entity); + public ResponseEntity getRegister() throws IOException { + RegisterDTO entity = settingService.readFileWithRegister(); + return ResponseEntity.ok(entity); } } diff --git a/src/main/java/org/mobidgim/mobidigimproject/filter/LoggerFilter.java b/src/main/java/org/mobidgim/mobidigimproject/filter/LoggerFilter.java deleted file mode 100644 index a3658b1..0000000 --- a/src/main/java/org/mobidgim/mobidigimproject/filter/LoggerFilter.java +++ /dev/null @@ -1,63 +0,0 @@ -package org.mobidgim.mobidigimproject.filter; - -import jakarta.servlet.*; -import jakarta.servlet.http.HttpServletRequest; -import jakarta.servlet.http.HttpServletResponse; -import lombok.extern.slf4j.Slf4j; -import org.springframework.web.util.ContentCachingRequestWrapper; -import org.springframework.web.util.ContentCachingResponseWrapper; - -import java.io.IOException; - -@Slf4j -public class LoggerFilter implements Filter { - - @Override - public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { - - - var req = new ContentCachingRequestWrapper((HttpServletRequest) request); - var res = new ContentCachingResponseWrapper((HttpServletResponse) response); - log.info("INIT URI: {}", req.getRequestURI()); - chain.doFilter(req,res); - - var headersNames = req.getHeaderNames(); - var headersValues = new StringBuilder(); - - headersNames.asIterator().forEachRemaining(headerKey->{ - var headerValue = req.getHeader(headerKey); - - headersValues.append("[") - .append(headerKey) - .append(":") - .append(headerValue) - .append("]"); - }); - - var requestBody = new String(req.getContentAsByteArray()); - - var uri = req.getRequestURI(); - var method = req.getMethod(); - log.info(">>>> uri: {}, method: {}, header: {}, body: {}",uri,method,headersValues,requestBody); - - var responseHeadersValues = new StringBuilder(); - - res.getHeaderNames().forEach(headerKey ->{ - var headerValue = req.getHeader(headerKey); - - responseHeadersValues.append("[") - .append(headerKey) - .append(":") - .append(headerValue) - .append("]"); - }); - var responseBody = new String(res.getContentAsByteArray()); - log.info("<<<< uri: {}, method: {}, header: {}, body: {}",uri,method,responseHeadersValues,responseBody); - - res.copyBodyToResponse(); - - - } - - -} diff --git a/src/main/java/org/mobidgim/mobidigimproject/service/SettingService.java b/src/main/java/org/mobidgim/mobidigimproject/service/SettingService.java index 2425aed..efec356 100644 --- a/src/main/java/org/mobidgim/mobidigimproject/service/SettingService.java +++ b/src/main/java/org/mobidgim/mobidigimproject/service/SettingService.java @@ -24,6 +24,7 @@ import java.nio.file.Path; import java.util.Arrays; import java.util.List; import java.util.Map; +import java.util.stream.Collectors; @Service public class SettingService { @@ -60,7 +61,7 @@ public class SettingService { ensureDirectoryExists(); String filePath = TEMP_DIRECTORY + "/" + filename; - Files.writeString(Paths.get(filePath), json); + Files.createDirectory(Paths.get(filePath)); } // Device 파일 읽기 (기본 파일명 사용) @@ -77,7 +78,7 @@ public class SettingService { throw new IOException("Device configuration file not found: " + filename); } - String jsonString = Files.readString(path); + String jsonString = new String(Files.readAllBytes(path), StandardCharsets.UTF_8); ObjectMapper mapper = new ObjectMapper(); mapper.setPropertyNamingStrategy(PropertyNamingStrategies.SNAKE_CASE); mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false); @@ -119,7 +120,8 @@ public class SettingService { ensureDirectoryExists(); String filePath = TEMP_DIRECTORY + "/" + filename; - Files.writeString(Paths.get(filePath), json); + Path path = Paths.get(filePath); + Files.write(path, json.getBytes(StandardCharsets.UTF_8)); return request; } @@ -138,7 +140,7 @@ public class SettingService { throw new IOException("Protocol configuration file not found: " + filename); } - String jsonString = Files.readString(path); + String jsonString = new String(Files.readAllBytes(path), StandardCharsets.UTF_8); ObjectMapper mapper = new ObjectMapper(); mapper.setPropertyNamingStrategy(PropertyNamingStrategies.SNAKE_CASE); mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false); @@ -186,6 +188,6 @@ public class SettingService { return false; // 파일이 해당 타입에 맞지 않으면 제외 } }) - .toList(); + .collect(Collectors.toList()); } } \ No newline at end of file diff --git a/src/main/resources/static/index.html b/src/main/resources/static/index.html index 9bce8c2..fae84c5 100644 --- a/src/main/resources/static/index.html +++ b/src/main/resources/static/index.html @@ -1471,8 +1471,8 @@ const deviceResponse = await fetch('http://localhost:8080/setting/get-device'); if (deviceResponse.ok) { const deviceData = await deviceResponse.json(); - if (deviceData && deviceData.body) { - loadFromData(deviceData.body); + if (deviceData) { + loadFromData(deviceData); console.log('Device Load completed (Default file: deviceConfig.json)'); } else { console.warn('Device response received, but no body found.'); @@ -1488,8 +1488,8 @@ const protocolResponse = await fetch('http://localhost:8080/setting/get-protocol'); if (protocolResponse.ok) { const protocolData = await protocolResponse.json(); - if (protocolData && protocolData.body) { - loadFromRegisterJson(protocolData.body); + if (protocolData) { + loadFromRegisterJson(protocolData); console.log('Protocol Load completed (Default file: protocolConfig.json)'); } else { console.warn('Protocol response received, but no body found.');