Burninghering's Blog
article thumbnail

Controller -> HTTP Request 메시지

 

로그인 API 예제

Controller 구현 ("LoginController.java")

1. "GET /login" 요청 처리 - "login-form.html" 으로 redirect 시킴 (정적 웹페이지)

 

로그인 처리

1. "POST /login" 요청 처리 -> Client 가 다음과 같이 요청을 보낸다고 가정

POST http://localhost:8080/login
Header
  Content type: application/x-www-form-urlencoded
Body
	id=superman&password=superman

 

2. "LoginController.java" 에서 Client 에서 입력한 id 와 password 를 받음

 

3.Model 설정

로그인 성공 시에만 Model 에 loginId 를 설정

  1. loginId 값은 Client 가 요청한 id (즉, 로그인 성공한 사용자 id)
  2. 로그인 성공 조건 -> id 와 password 가 동일한 문자열
if (id.equals(password)) { ... }

// 주의!!! 아래와 같이 비교하면 안 됨 (Java 문법)
if (id == password) { ... }

 

위와 같은 사항을 코드로 구현!
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestParam;

@Controller
public class LoginController {

    // Login 을 위한 HTML 파일 내려주기
    @GetMapping("/login")
    public String loginPage() {
        return "redirect:/login-form.html";
    }

    // Login 처리
    @PostMapping("/login")
    public String loginProcess(
            @RequestParam String id,
            @RequestParam String password,
            Model model
    ) {
        if (id.equals(password)) {
            model.addAttribute("loginId", id);
        }

        return "login-result";
    }
}
profile

Burninghering's Blog

@개발자 김혜린

안녕하세요! 반갑습니다.