spring.stock/src/main/java/com/ttop/spring/stock/controller/BaseAuthController.java
<filename>spring.stock/src/main/java/com/ttop/spring/stock/controller/BaseAuthController.java<gh_stars>0

package com.ttop.spring.stock.controller;


import javax.servlet.http.HttpServletRequest;

import com.ttop.spring.stock.dto.MemberSignUpDto;
import com.ttop.spring.stock.service.MemberService;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.servlet.support.ServletUriComponentsBuilder;

import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;

@Controller
@AllArgsConstructor
@Slf4j
public class BaseAuthController {
    // https://victorydntmd.tistory.com/328

    private MemberService memberService;

    // 메인 페이지
    @GetMapping("/")
    public String index() {
        return "index";
    }
    
    // 회원가입 페이지
    @GetMapping("/user/signup")
    public String dispSignup() {
        return "signup";
    }

    // 회원가입 처리
    @PostMapping("/user/signup")
    public String execSignup(MemberSignUpDto memberDto,HttpServletRequest request) {
        // String baseUrl = ServletUriComponentsBuilder.fromRequestUri(request)
        // .replacePath(null)
        // .build()
        // .toUriString();

        memberService.registerMember(memberDto);
        return "redirect:user/login";
    }

    // 로그인 페이지
    @GetMapping("/user/login")
    public String dispLogin() {
        return "login";
    }

    // 로그인 결과 페이지
    @GetMapping("/user/login/result")
    public String dispLoginResult() {
        return "loginSuccess";
    }

    // 로그아웃 결과 페이지
    @GetMapping("/user/logout/result")
    public String dispLogout() {
        return "logout";
    }

    // 접근 거부 페이지
    @GetMapping("/user/denied")
    public String dispDenied() {
        return "denied";
    }

    // 내 정보 페이지
    @GetMapping("/user/info")
    public String dispMyInfo() {
        return "myinfo";
    }

    // 어드민 페이지
    @GetMapping("/admin")
    public String dispAdmin() {
        return "admin";
    }
}