1- package org .mybatis .jpetstore .controller ;
1+ package org .mybatis .jpetstore .account . controller ;
22
3+ import jakarta .servlet .http .HttpServletRequest ;
4+ import jakarta .servlet .http .HttpSession ;
5+ import lombok .RequiredArgsConstructor ;
6+ import org .mybatis .jpetstore .common .domain .Account ;
7+ import org .mybatis .jpetstore .common .grpc .CatalogGrpcClient ;
8+ import org .mybatis .jpetstore .account .service .AccountService ;
39import org .springframework .beans .factory .annotation .Value ;
4- import org .mybatis .jpetstore .domain .Account ;
5- import org .mybatis .jpetstore .http .HttpFacade ;
6- import org .mybatis .jpetstore .service .AccountService ;
7- import org .springframework .beans .factory .annotation .Autowired ;
810import org .springframework .stereotype .Controller ;
9- import org .springframework .web .bind .annotation .*;
11+ import org .springframework .web .bind .annotation .GetMapping ;
12+ import org .springframework .web .bind .annotation .PostMapping ;
13+ import org .springframework .web .bind .annotation .RequestParam ;
1014
11- import jakarta .servlet .http .HttpServletRequest ;
12- import jakarta .servlet .http .HttpSession ;
1315import java .util .UUID ;
1416
1517@ Controller
18+ @ RequiredArgsConstructor
1619public class AccountController {
1720
18- @ Autowired
19- private AccountService accountService ;
20- @ Autowired
21- private HttpFacade httpFacade ;
21+ private final AccountService accountService ;
22+ private final CatalogGrpcClient catalogGrpcClient ;
23+
2224 @ Value ("${gateway.base-url}" )
2325 private String redirectBaseUrl ;
2426
2527
2628 @ GetMapping ("/newAccountForm" )
27- public String newAccountForm (HttpServletRequest request , HttpSession session ) {
28- String REDIRECT_BASE_URL = httpFacade .getBaseUrl (request );
29+ public String newAccountForm (HttpSession session ) {
2930 if (session .getAttribute ("account" ) != null ) {
3031 // 로그인이 되어 있으면 메인 페이지로 리다이렉트
3132 return "redirect:" + redirectBaseUrl + "/catalog" ;
@@ -34,8 +35,7 @@ public String newAccountForm(HttpServletRequest request, HttpSession session) {
3435 }
3536
3637 @ PostMapping ("/newAccount" )
37- public String newAccount (HttpServletRequest request , Account account , HttpSession session ) {
38- String REDIRECT_BASE_URL = httpFacade .getBaseUrl (request );
38+ public String newAccount (Account account , HttpSession session ) {
3939 if (session .getAttribute ("account" ) != null ) {
4040 // 로그인이 되어 있으면 메인 페이지로 리다이렉트
4141 return "redirect:" + redirectBaseUrl + "/catalog" ;
@@ -45,7 +45,7 @@ public String newAccount(HttpServletRequest request, Account account, HttpSessio
4545 session .setAttribute ("csrf_token" , UUID .randomUUID ().toString ());
4646
4747 // 카탈로그 서비스 사용
48- session .setAttribute ("myList" , httpFacade .getProductListByCategory (account .getFavouriteCategoryId ()));
48+ session .setAttribute ("myList" , catalogGrpcClient .getProductListByCategory (account .getFavouriteCategoryId ()));
4949 session .setAttribute ("isAuthenticated" , true );
5050 return "redirect:" + redirectBaseUrl + "/catalog" ;
5151 }
@@ -56,7 +56,7 @@ public String editAccountForm() {
5656 }
5757
5858 @ PostMapping ("/editAccount" )
59- public String editAccount (HttpServletRequest request , Account account , @ RequestParam String csrf , HttpSession session , HttpServletRequest req ) {
59+ public String editAccount (Account account , @ RequestParam String csrf , HttpSession session , HttpServletRequest req ) {
6060 if (csrf == null || session .getAttribute ("account" ) == null || !csrf .equals (session .getAttribute ("csrf_token" ))) {
6161 // csrf가 null이거나 로그인이 안되어있거나 csrf가 일치하지 않으면 다시 돌아감
6262 String value = "This is not a valid request" ;
@@ -67,14 +67,12 @@ public String editAccount(HttpServletRequest request, Account account, @RequestP
6767 session .setAttribute ("account" , accountService .getAccount (account .getUsername ()));
6868
6969 // 카탈로그 서비스 사용
70- String REDIRECT_BASE_URL = httpFacade .getBaseUrl (request );
71- session .setAttribute ("myList" , httpFacade .getProductListByCategory (account .getFavouriteCategoryId ()));
70+ session .setAttribute ("myList" , catalogGrpcClient .getProductListByCategory (account .getFavouriteCategoryId ()));
7271 return "redirect:" + redirectBaseUrl + "/catalog" ;
7372 }
7473
7574 @ GetMapping ("/signonForm" )
76- public String signonForm (HttpServletRequest request , @ RequestParam (required = false ) String msg , HttpServletRequest req , HttpSession session ) {
77- String REDIRECT_BASE_URL = httpFacade .getBaseUrl (request );
75+ public String signonForm (@ RequestParam (required = false ) String msg , HttpServletRequest req , HttpSession session ) {
7876 if (session .getAttribute ("account" ) != null ) {
7977 // 로그인이 되어 있으면, 로그인 불가
8078 return "redirect:" + redirectBaseUrl + "/catalog" ;
@@ -85,8 +83,7 @@ public String signonForm(HttpServletRequest request, @RequestParam(required = fa
8583 }
8684
8785 @ PostMapping ("/signon" )
88- public String signon (HttpServletRequest request , Account account , HttpServletRequest req , HttpSession session ) {
89- String REDIRECT_BASE_URL = httpFacade .getBaseUrl (request );
86+ public String signon (Account account , HttpServletRequest req , HttpSession session ) {
9087 Account existAccount = accountService .getAccount (account .getUsername (), account .getPassword ());
9188
9289 if (existAccount == null ) {
@@ -98,15 +95,14 @@ public String signon(HttpServletRequest request, Account account, HttpServletReq
9895 account .setPassword (null );
9996 session .setAttribute ("csrf_token" , UUID .randomUUID ().toString ());
10097 session .setAttribute ("account" , existAccount );
101- session .setAttribute ("myList" , httpFacade .getProductListByCategory (req , existAccount .getFavouriteCategoryId ()));
98+ session .setAttribute ("myList" , catalogGrpcClient .getProductListByCategory (existAccount .getFavouriteCategoryId ()));
10299 session .setAttribute ("isAuthenticated" , true );
103100 return "redirect:" + redirectBaseUrl + "/catalog" ;
104101 }
105102 }
106103
107104 @ GetMapping ("/signoff" )
108- public String signoff (HttpServletRequest request , HttpSession session ) {
109- String REDIRECT_BASE_URL = httpFacade .getBaseUrl (request );
105+ public String signoff (HttpSession session ) {
110106 session .invalidate ();
111107 return "redirect:" + redirectBaseUrl + "/catalog" ;
112108 }
0 commit comments