From 603b992dd11ca5796bca5c023fec6ddde17792f1 Mon Sep 17 00:00:00 2001 From: root Date: Mon, 4 Aug 2025 12:57:54 +0900 Subject: [PATCH] webclient --- prd/build.gradle | 3 ++ .../java/site/ocr/prd/WebClientConfig.java | 15 ++++++++ .../ocr/prd/contorllers/LoginController.java | 35 ++++++++++--------- .../main/java/site/ocr/prd/dto/LoginDto.java | 0 .../java/site/ocr/prd/dto/LoginRequest.java | 16 +++++++++ .../java/site/ocr/prd/dto/LoginResponse.java | 16 +++++++++ .../site/ocr/prd/services/LoginService.java | 22 ++++++++++++ 7 files changed, 90 insertions(+), 17 deletions(-) create mode 100644 prd/src/main/java/site/ocr/prd/WebClientConfig.java delete mode 100644 prd/src/main/java/site/ocr/prd/dto/LoginDto.java create mode 100644 prd/src/main/java/site/ocr/prd/dto/LoginRequest.java create mode 100644 prd/src/main/java/site/ocr/prd/dto/LoginResponse.java create mode 100644 prd/src/main/java/site/ocr/prd/services/LoginService.java diff --git a/prd/build.gradle b/prd/build.gradle index 4024635..71c6728 100644 --- a/prd/build.gradle +++ b/prd/build.gradle @@ -39,6 +39,9 @@ dependencies { implementation 'io.jsonwebtoken:jjwt-api:0.11.5' runtimeOnly 'io.jsonwebtoken:jjwt-impl:0.11.5' runtimeOnly 'io.jsonwebtoken:jjwt-jackson:0.11.5' + + //webclient + implementation 'org.springframework.boot:spring-boot-starter-webflux' } tasks.named('test') { diff --git a/prd/src/main/java/site/ocr/prd/WebClientConfig.java b/prd/src/main/java/site/ocr/prd/WebClientConfig.java new file mode 100644 index 0000000..75c0b88 --- /dev/null +++ b/prd/src/main/java/site/ocr/prd/WebClientConfig.java @@ -0,0 +1,15 @@ +package site.ocr.prd; + +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.web.reactive.function.client.WebClient; + +@Configuration +public class WebClientConfig { + + @Bean + public WebClient webClient() { + + } + +} \ No newline at end of file diff --git a/prd/src/main/java/site/ocr/prd/contorllers/LoginController.java b/prd/src/main/java/site/ocr/prd/contorllers/LoginController.java index 5a86d38..e7cec0f 100644 --- a/prd/src/main/java/site/ocr/prd/contorllers/LoginController.java +++ b/prd/src/main/java/site/ocr/prd/contorllers/LoginController.java @@ -1,29 +1,30 @@ package site.ocr.prd.contorllers; - -import java.io.IOException; -import java.net.URI; -import java.net.http.HttpClient; -import java.net.http.HttpRequest; -import java.net.http.HttpResponse; -import java.util.HashMap; -import java.util.Map; - -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.bind.annotation.RestController; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RequestParam; +import jakarta.servlet.http.HttpServletRequest; +import site.ocr.prd.dto.LoginRequest; +import site.ocr.prd.dto.LoginResponse; +import site.ocr.prd.services.LoginService; + +import org.springframework.web.bind.annotation.GetMapping; @RestController public class LoginController { @GetMapping("login/oauth-kakao") - public String kakaoLogiString(@RequestParam String param) { - System.out.println("getmethod"); - System.out.println(param); - return param; + public LoginResponse kakaoLogin(HttpServletRequest query) { + System.out.println("data ::: "); + String accessToken = query.getParameter("code"); + System.out.println(accessToken); + LoginRequest requestDTO = new LoginRequest(); + requestDTO.setGrantType("authorization_code"); + requestDTO.setClientId("a1d6afef2d4508a10a498b7069f67496"); + requestDTO.setRedirectUri("http://localhost:9001/login/oauth-kakao"); + requestDTO.setCode(accessToken); + LoginResponse response = new LoginService().loginService(requestDTO); + + return response; } } diff --git a/prd/src/main/java/site/ocr/prd/dto/LoginDto.java b/prd/src/main/java/site/ocr/prd/dto/LoginDto.java deleted file mode 100644 index e69de29..0000000 diff --git a/prd/src/main/java/site/ocr/prd/dto/LoginRequest.java b/prd/src/main/java/site/ocr/prd/dto/LoginRequest.java new file mode 100644 index 0000000..2e4b128 --- /dev/null +++ b/prd/src/main/java/site/ocr/prd/dto/LoginRequest.java @@ -0,0 +1,16 @@ +package site.ocr.prd.dto; + +import lombok.Getter; +import lombok.Setter; +import lombok.ToString; + +@ToString +@Getter +@Setter +public class LoginRequest { + + String grantType; //authorization_code + String clientId; //앱 REST API 키 + String redirectUri; //인가코드가 리다이렉트된 uri + String code; //인가코드 요청으로 얻은 인가코드 +} \ No newline at end of file diff --git a/prd/src/main/java/site/ocr/prd/dto/LoginResponse.java b/prd/src/main/java/site/ocr/prd/dto/LoginResponse.java new file mode 100644 index 0000000..271dc13 --- /dev/null +++ b/prd/src/main/java/site/ocr/prd/dto/LoginResponse.java @@ -0,0 +1,16 @@ +package site.ocr.prd.dto; + +import lombok.Getter; +import lombok.Setter; +import lombok.ToString; + +@ToString +@Getter +@Setter +public class LoginResponse { + + String grantType; //authorization_code + String clientId; //앱 REST API 키 + String redirectUri; //인가코드가 리다이렉트된 uri + String code; //인가코드 요청으로 얻은 인가코드 +} diff --git a/prd/src/main/java/site/ocr/prd/services/LoginService.java b/prd/src/main/java/site/ocr/prd/services/LoginService.java new file mode 100644 index 0000000..2377621 --- /dev/null +++ b/prd/src/main/java/site/ocr/prd/services/LoginService.java @@ -0,0 +1,22 @@ +package site.ocr.prd.services; + +import java.net.http.HttpHeaders; + +import org.springframework.stereotype.Service; + +import jakarta.servlet.http.HttpServletRequest; +import site.ocr.prd.dto.LoginRequest; +import site.ocr.prd.dto.LoginResponse; + +@Service +public class LoginService { + + public LoginResponse loginService(LoginRequest request) { + + LoginResponse response = new LoginResponse(); + + return response; + } + + +} \ No newline at end of file