From b1f522bf1c483ad2b195db0de87c81f6a0e05cdd Mon Sep 17 00:00:00 2001 From: Jmmk Date: Tue, 18 Jul 2023 22:24:40 +0900 Subject: [PATCH 1/4] =?UTF-8?q?=EC=BA=90=EB=A6=AD=ED=84=B0=20=EC=A0=95?= =?UTF-8?q?=EB=B3=B4=20=EA=B0=80=EC=A0=B8=EC=98=A4=EB=8A=94=20=EC=98=A4?= =?UTF-8?q?=ED=94=88=20api=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../user/controller/UserController.java | 26 ++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/team/neorangloa/domain/user/controller/UserController.java b/src/main/java/com/team/neorangloa/domain/user/controller/UserController.java index 61049c6..bba4b1e 100644 --- a/src/main/java/com/team/neorangloa/domain/user/controller/UserController.java +++ b/src/main/java/com/team/neorangloa/domain/user/controller/UserController.java @@ -13,10 +13,13 @@ import com.team.neorangloa.global.result.ResultCode; import com.team.neorangloa.global.result.ResultResponse; import lombok.RequiredArgsConstructor; -import org.springframework.http.ResponseEntity; +import org.springframework.http.*; import org.springframework.web.bind.annotation.*; +import org.springframework.web.client.RestTemplate; import javax.validation.Valid; +import java.net.URI; +import java.net.URISyntaxException; @RestController @RequiredArgsConstructor @@ -57,4 +60,25 @@ public ResponseEntity updatePassword(@LoginUser User loginUser, userService.updatePassword(logInUserId, updatePasswordRequest); return ResponseEntity.ok(ResultResponse.of(ResultCode.UPDATE_USER_PASSWORD_SUCCESS)); } + @GetMapping("/charactersInfo/{characterName}") + public ResponseEntity getCharactersInfo(@RequestHeader("API-Key") String apiKey, + @PathVariable String characterName) { + RestTemplate restTemplate = new RestTemplate(); + String apiUrl = "https://developer-lostark.game.onstove.com/characters/" + characterName + "/siblings"; + + HttpHeaders headers = new HttpHeaders(); + headers.set(HttpHeaders.ACCEPT, MediaType.APPLICATION_JSON_VALUE); + headers.set(HttpHeaders.AUTHORIZATION, apiKey); + + HttpEntity httpEntity = new HttpEntity<>(headers); + + ResponseEntity response = restTemplate.exchange(apiUrl, HttpMethod.GET, httpEntity, String.class); + System.out.println(response); + System.out.println(response.getStatusCode()); + System.out.println(response.getBody()); + + // 클라이언트에 반환할 때는 JSON 형식으로 변환하여 반환 + // response.getBody()는 API에서 받은 데이터를 문자열로 반환 + return ResponseEntity.ok(response.getBody()); + } } \ No newline at end of file From 96db7f1d2aed5ee1fa5c9c85c299f8c9aaf6fa3f Mon Sep 17 00:00:00 2001 From: Jmmk Date: Wed, 19 Jul 2023 00:33:53 +0900 Subject: [PATCH 2/4] =?UTF-8?q?=EC=BF=A0=ED=82=A4=20=EC=A0=84=EB=8B=AC?= =?UTF-8?q?=EC=9D=84=20=EC=9C=84=ED=95=9C=20cors=20=EC=84=A4=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/team/neorangloa/global/config/WebConfig.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/team/neorangloa/global/config/WebConfig.java b/src/main/java/com/team/neorangloa/global/config/WebConfig.java index 17a81f5..c2a3948 100644 --- a/src/main/java/com/team/neorangloa/global/config/WebConfig.java +++ b/src/main/java/com/team/neorangloa/global/config/WebConfig.java @@ -34,7 +34,11 @@ public void addArgumentResolvers(List resolvers){ @Override public void addCorsMappings(CorsRegistry registry) { registry.addMapping("/**") - .allowedOrigins("http://localhost:3000"); + .allowedOrigins("http://localhost:3000") + .allowedMethods("*") + .allowedHeaders("*") + .allowCredentials(true) + .maxAge(3600); } // @Override From 965cf5c54232abfb4f54383938a146781d77359a Mon Sep 17 00:00:00 2001 From: Jmmk Date: Thu, 20 Jul 2023 17:17:27 +0900 Subject: [PATCH 3/4] =?UTF-8?q?restTemplate=20bean=20=EC=A3=BC=EC=9E=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../domain/user/controller/UserController.java | 10 +++------- .../team/neorangloa/global/config/AppConfig.java | 13 +++++++++++++ .../team/neorangloa/global/config/WebConfig.java | 13 ------------- 3 files changed, 16 insertions(+), 20 deletions(-) create mode 100644 src/main/java/com/team/neorangloa/global/config/AppConfig.java diff --git a/src/main/java/com/team/neorangloa/domain/user/controller/UserController.java b/src/main/java/com/team/neorangloa/domain/user/controller/UserController.java index bba4b1e..c005e26 100644 --- a/src/main/java/com/team/neorangloa/domain/user/controller/UserController.java +++ b/src/main/java/com/team/neorangloa/domain/user/controller/UserController.java @@ -26,6 +26,7 @@ @RequestMapping("/api/v1/user") public class UserController { private final UserService userService; + private final RestTemplate restTemplate; @PostMapping public ResponseEntity signup( @@ -60,10 +61,11 @@ public ResponseEntity updatePassword(@LoginUser User loginUser, userService.updatePassword(logInUserId, updatePasswordRequest); return ResponseEntity.ok(ResultResponse.of(ResultCode.UPDATE_USER_PASSWORD_SUCCESS)); } + + @GetMapping("/charactersInfo/{characterName}") public ResponseEntity getCharactersInfo(@RequestHeader("API-Key") String apiKey, @PathVariable String characterName) { - RestTemplate restTemplate = new RestTemplate(); String apiUrl = "https://developer-lostark.game.onstove.com/characters/" + characterName + "/siblings"; HttpHeaders headers = new HttpHeaders(); @@ -71,14 +73,8 @@ public ResponseEntity getCharactersInfo(@RequestHeader("API-Key") String headers.set(HttpHeaders.AUTHORIZATION, apiKey); HttpEntity httpEntity = new HttpEntity<>(headers); - ResponseEntity response = restTemplate.exchange(apiUrl, HttpMethod.GET, httpEntity, String.class); - System.out.println(response); - System.out.println(response.getStatusCode()); - System.out.println(response.getBody()); - // 클라이언트에 반환할 때는 JSON 형식으로 변환하여 반환 - // response.getBody()는 API에서 받은 데이터를 문자열로 반환 return ResponseEntity.ok(response.getBody()); } } \ No newline at end of file diff --git a/src/main/java/com/team/neorangloa/global/config/AppConfig.java b/src/main/java/com/team/neorangloa/global/config/AppConfig.java new file mode 100644 index 0000000..5c2e861 --- /dev/null +++ b/src/main/java/com/team/neorangloa/global/config/AppConfig.java @@ -0,0 +1,13 @@ +package com.team.neorangloa.global.config; +import org.springframework.boot.web.client.RestTemplateBuilder; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.web.client.RestTemplate; + +@Configuration +public class AppConfig { + @Bean + public RestTemplate restTemplate(RestTemplateBuilder builder) { + return builder.build(); + } +} diff --git a/src/main/java/com/team/neorangloa/global/config/WebConfig.java b/src/main/java/com/team/neorangloa/global/config/WebConfig.java index c2a3948..aeefaa3 100644 --- a/src/main/java/com/team/neorangloa/global/config/WebConfig.java +++ b/src/main/java/com/team/neorangloa/global/config/WebConfig.java @@ -41,17 +41,4 @@ public void addCorsMappings(CorsRegistry registry) { .maxAge(3600); } - // @Override -// public void configureMessageConverters(List> converters) { -// converters.add(mappingJackson2HttpMessageConverter()); -// } -// -// @Bean -// public MappingJackson2HttpMessageConverter mappingJackson2HttpMessageConverter() { -// MappingJackson2HttpMessageConverter converter = new MappingJackson2HttpMessageConverter(); -// // JSON 형식으로 변환하기 위해 설정 -// // 필요에 따라 ObjectMapper의 설정을 추가로 수정할 수 있습니다. -// // 예시: converter.getObjectMapper().setDateFormat(new SimpleDateFormat("yyyy-MM-dd")); -// return converter; -// } } From 3d81c4dd9cc35604333d443efc3f24f17f7d2ef7 Mon Sep 17 00:00:00 2001 From: Jmmk Date: Wed, 26 Jul 2023 17:38:31 +0900 Subject: [PATCH 4/4] =?UTF-8?q?=EC=BA=90=EB=A6=AD=20=EC=A0=95=EB=B3=B4=20a?= =?UTF-8?q?pi=20filter=20=EA=B8=B0=EB=8A=A5=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../neorangloa/domain/user/controller/UserController.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/team/neorangloa/domain/user/controller/UserController.java b/src/main/java/com/team/neorangloa/domain/user/controller/UserController.java index c005e26..8e4e2c4 100644 --- a/src/main/java/com/team/neorangloa/domain/user/controller/UserController.java +++ b/src/main/java/com/team/neorangloa/domain/user/controller/UserController.java @@ -65,8 +65,9 @@ public ResponseEntity updatePassword(@LoginUser User loginUser, @GetMapping("/charactersInfo/{characterName}") public ResponseEntity getCharactersInfo(@RequestHeader("API-Key") String apiKey, - @PathVariable String characterName) { - String apiUrl = "https://developer-lostark.game.onstove.com/characters/" + characterName + "/siblings"; + @PathVariable String characterName, + @RequestParam(required = false, defaultValue = "") String filter) { + String apiUrl = "https://developer-lostark.game.onstove.com/armories/characters/" + characterName +"/"+ filter; HttpHeaders headers = new HttpHeaders(); headers.set(HttpHeaders.ACCEPT, MediaType.APPLICATION_JSON_VALUE);