백엔드의 시작 Controller

정세진·2025년 5월 13일
post-thumbnail

-어노테이션(annotation)

  • @Controller

클래스가 웹 요청을 처리하는 컨트롤러 임을 선언

  • @GetMapping, @PostMapping

GET방식은 데이터 조회용(ex.게시글 보기,검색)이고
파라미터가 주소에 보이므로 보안성이 낮다
POST방식은 데이터 등록,전송,수정용(ex.회원가입,로그인) 보안이 상대적으로 우수하다

  • @ResponsBody

리턴값을 뷰가 아닌 HTTP응답 바디로 직접 반환

@RestController
public class HelloController {

    @GetMapping("/hello")
    @ResponseBody
    public String hello() {
        return "Hello, World!";
    }
}

"Hello world!" 라는 문자열을 응답으로 받음

  • @RequestParam

요청한 파라미터를 자바 메서드인자로 바인딩
@RequestParam(value=”key”) 데이터타입 변수명
요청경로?key1=value1&key2=value2&…

@GetMapping("/greet")
public String greet(@RequestParam String name) {
    return "Hello, " + name;
}

예시 요청

요청경로/greet?name=Jhon

응답

Hello, John

-Model - 뷰에 데이터 넣기

컨트롤러에서 뷰에 데이터를 주입시키기 위해 Model객체를 이용한다

예시
//controller

	@GetMapping("detail-user")
	public String detailUser(
			@RequestParam(value="uid") String id,
			Model model
			) {
		
		
		//Db에서 받아온 데이터..
		String name="정세진";
		String nickname="jsj1234";
		
		
		model.addAttribute("name", name);
		model.addAttribute("nick", nickname);
		
		return "detail-user";
	}
}

//detail-user

<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>

	<h3>회원 상세보기</h3>
	<h5>이름 : ${name}</h5>
	<h5>닉네임 : ${nick}</h5>
</body>
</html>

3개의 댓글

comment-user-thumbnail
2025년 5월 13일

잘 보고 갑니다~

답글 달기
comment-user-thumbnail
2025년 5월 13일

거꾸로해도 jsj

답글 달기
comment-user-thumbnail
2025년 5월 16일

내 컴퓨터 해킹해봐 ㅋㅋ

답글 달기