민뭉아치
민뭉아치
민뭉아치
전체 방문자
오늘
어제
  • 분류 전체보기 (62)
    • ㅁㅁㅇㅊ's Life (0)
      • Diary (1)
      • Certification (6)
      • English (1)
      • 독서 (1)
    • Algorithm (25)
    • Web (2)
    • Language (3)
      • JavaScript (1)
      • JAVA (2)
    • Spring boot (9)
    • Cloud (0)
    • DevOps (1)
    • Trouble Shooting (6)
    • 개발환경 (3)
    • 짤막IT지식 (4)

블로그 메뉴

  • 홈
  • 깃허브
  • 방명록

공지사항

인기 글

태그

  • 알고리즘
  • 정보처리기사
  • 코딩테스트
  • 백준
  • Java
  • 자바
  • 자격증
  • 백준알고리즘
  • Algorithm
  • Spring

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
민뭉아치

민뭉아치

Spring boot

[Spring Study Group] Spring MVC 요청 경로/클래스 레벨/경로 패턴 / Http 메서드 매핑설정

2021. 11. 7. 03:53

본 포스팅은 스프링 스터디에서 진행하는 내용을 학습하며 정리한 것입니다.

잘못된 부분이 있거나 보충이 필요한 부분이 있다면 많은 조언 부탁드립니다 : )

 

 

Controller에서 클라이언트 요청에 매핑하는 4가지 방법에 대해서 알아보자.

1.  요청 경로 매핑

@RequsetMapping 어노테이션은 클라이언트의 URL 요청을 매핑하기 위해 사용한다.

  • value 속성 : 경로 설정
  • method 속성 : 메서드에서 처리할 HTTP의 전송방식 설정

 

Controller Request Path / Method Views
HomeController / Get /views/home.jsp
@Controller
public class HomeController {

    @RequestMapping(value = "/", 
      method = RequestMethod.GET)
    public String home() {
		...
    }
}

 

2. 클래스 레벨 매핑

클래스와 메서드에 @RequsetMapping 어노테이션을 사용하여 클래스에 적용된 값과 메서드에 적용된 값을 합쳐 매핑될 경로를 설정한다.

Controller Request Path / Method Views
BoardController
/board
/ Get /views/home.jsp
@Controller
@ReqeustMapping(value = "/board")
public class BoardController {

    @RequestMapping(value = "/list", 
      method = RequestMethod.GET)
    public String list() {
		...
    }
}

3. 경로 패턴 매핑

@PathVariable 어노테이션을 이용하여 @RequestMapping 어노테이션 경로에 변수의 값을 파라미터로 전달받아 경로 패턴을 매핑하는 방법이다.

  • 경로 변수는 한 개 이상 사용 가능하다.
  • 파라미터 타입으로 변활할 수 없을 경우, 400 에러코드를 전송한다.

 

@Controller
@ReqeustMapping(value = "/board")
public class BoardController {

    @RequestMapping(value = "/read/{boardNo}", 
      method = RequestMethod.GET)
    public String read(@PathVariable int boardNo) {
		...
    }
}

 

4. Http 메서드 매핑

@RequestMapping의 method 속성에서 전송방식을 설정하여 동일한 경로값에 다른 HTTP 전송방식을 매핑하는 방법이다.

@Controller
@ReqeustMapping(value = "/board")
public class BoardController {

    @RequestMapping(value = "/read/{boardNo}", 
      method = RequestMethod.GET)
    public String register() {
		...
    }
    @RequestMapping(value = "/read/{boardNo}", 
      method = RequestMethod.POST)
    public String register() {
		...
    }
}

 

마무리

SpirngMVC Controller에서 어노테이션을 활용해 매핑하여 View 반환하는 경로를 매핑하는 방법은 아주 다양한다.

클라이언트가 URL로 보낸 요청을 처리할 때 경로 매핑을 잘못한 경우가 종종 있었다.

매핑 방법에 대해서 하나씩 살펴보니 다음에는 실수를 줄일 수 있을거 같다.

다음 시간에도 다양한 요청결로를 매핑하는 방법에 대해서 포스팅해야겟다.

 

반응형

'Spring boot' 카테고리의 다른 글

[Spring Boot] JPA 조회 작업 findById(), getOne()의 차이  (0) 2022.03.29
[Spring Boot] JPA Caching 적용하기  (0) 2022.03.21
[Spring Boot] PasswordEncoder.mathes() 암호화된 패스워드 비교  (0) 2022.03.21
[Spring Study Group] Spring Legacy Project 생성하기 - IntelliJ IDEA  (2) 2021.11.07
@Controller, @RestController 어노테이션 차이  (2) 2021.10.15
    'Spring boot' 카테고리의 다른 글
    • [Spring Boot] JPA Caching 적용하기
    • [Spring Boot] PasswordEncoder.mathes() 암호화된 패스워드 비교
    • [Spring Study Group] Spring Legacy Project 생성하기 - IntelliJ IDEA
    • @Controller, @RestController 어노테이션 차이
    민뭉아치
    민뭉아치
    Do Better Today Than You Were Yesterday

    티스토리툴바