2. 컨트롤러(Controller) - 점프 투 스프링부트(게시판 만들기)Spring2022. 12. 31. 15:51
Table of Contents
728x90
728x90
해당 게시글은 점프 투 스프링부트 교재를 통한 개인 학습 용도이며 기초 세팅은 생략하였습니다.
자바 8, 스프링부트 2.7.7버전입니다.
[ 컨트롤러 ]
URL 매핑을 추가하기 위해 QuestionController.java 파일을 다음과 같이 작성하자.
package com.example.board;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.ResponseBody;
@Controller
public class QuestionController {
@GetMapping("prac")
@ResponseBody
public String index() {
return "반갑습니다";
}
}
QuestionController 클래스에 @Controller 애너테이션을 적용하면 QuestionController 클래스는 스프링부트의 컨트롤러가 된다. 그리고 메서드의 @GetMapping 애너테이션은 요청된 URL과의 매핑을 담당한다.
서버에 요청이 발생하면 스프링부트는 요청 페이지와 매핑되는 메서드를 컨트롤러를 대상으로 찾는다.
즉, 스프링부트는 http://localhost:8080/prac 요청이 발생하면 /prac URL과 매핑되는 index 메서드를 QuestionController 클래스에서 찾아 실행한다.
@GetMapping에 http://localhost:8080 과 같은 도메인명과 포트는 적지 않는다. 도메인명과 포트는 서버 설정에 따라 변하기 때문이다.
응답으로 "반갑습니다"라는 문자열을 브라우저에 출력하기 위해 index 함수의 리턴값을 String으로 변경하고 "반갑습니다"라는 문자열을 리턴했다. @ResponseBody 애너테이션은 URL 요청에 대한 응답으로 문자열을 리턴하라는 의미이다.
@ResponseBody 애너테이션을 생략한다면 "반갑습니다"라는 이름의 템플릿 파일을 찾게 된다
728x90
300x250
@mag1c :: 꾸준히 재밌게
2023.04 ~ 백엔드 개발자의 기록
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!