티스토리 뷰
Spring은 어떻게 매개변수만 적으면 라우팅을 해주는걸까
Spring의 라우팅은 URI가 서버의 특정 리소스에 직접 연결된 기존 웹 애플리케이션과 상당히 다릅니다.
대신 Spring은 들어오는 웹 요청을 처리하는 방법을 결정하기 위해 컨트롤러, 메소드 및 주석 시스템을 사용합니다.
Understanding Controllers and Request Mapping
Spring에서 컨트롤러는 들어오는 웹 요청을 처리하는 클래스입니다.
클래스에 @Controller
주석을 추가하여 컨트롤러로 지정됩니다.
이러한 컨트롤러 클래스 내에서 다양한 유형의 요청을 처리하기 위한 메서드가 정의됩니다.
이러한 메서드는 @RequestMapping
주석을 사용하여 특정 URL 또는 URL 패턴에 매핑됩니다.
예를 들면 다음과 같습니다.
@Controller public class HomeController { @RequestMapping("/home") public String home() { return "home"; } }
이 예제에서 /home
URL에 대한 GET 요청이 생성되면 Spring은 해당 요청을 HomeController
클래스의 home
메서드로 라우팅합니다.
경로 변수 및 쿼리 매개변수
URL의 일부 또는 특정 쿼리 매개변수를 기반으로 요청을 라우팅하려는 경우가 있습니다.
Spring에서는 경로 변수와 쿼리 매개변수를 사용하여 이를 수행할 수 있습니다.
경로 변수는 변수인 URL의 일부입니다.
예를 들어 URL /user/123
에서 123
은 사용자의 ID를 나타내는 경로 변수입니다.
Spring에서는 @PathVariable
주석을 사용하여 경로 변수를 매핑할 수 있습니다.
@Controller public class UserController { @RequestMapping("/user/{userId}") public String getUser(@PathVariable String userId) { // get user based on userId return "user"; } }
검색어 매개변수는 URL에서 ‘?’ 뒤에 제공되는 추가 매개변수입니다.
예를 들어 URL /search?query=spring
에서 query
는 쿼리 매개변수입니다.
Spring에서는 @RequestParam
주석을 사용하여 쿼리 매개변수를 매핑할 수 있습니다.
@Controller public class SearchController { @RequestMapping("/search") public String search(@RequestParam String query) { // perform search based on query return "searchResults"; } }
부족한 점이나 잘못 된 점을 알려주시면 시정하겠습니다 :>
'DEV > Java' 카테고리의 다른 글
Spring MVC의 Redirect와 Forward (2) | 2023.05.19 |
---|---|
DispatcherServlet (0) | 2023.05.19 |
Spring MVC @ModelAttribute (0) | 2023.05.19 |
Servlet filter (0) | 2023.05.19 |
Expression Language(EL) (0) | 2023.05.19 |
- Total
- Today
- Yesterday
- 개발/Java/Spring
- 대외활동/카카오테크캠퍼스
- AI/ML
- 개발/에러
- ⌨️Developer/보안
- 개발/MySQL
- 개발/언어론
- 개발/환경
- 개발/언어/Java
- 카테캠
- ai
- 개발/프레임워크&라이브러리
- 취업
- 카카오 테크 캠퍼스
- 카카오테크캠퍼스
- 개발/OOP
- 개발/Electron
- electron
- 개발/컴퓨터네트워크
- 개발/Java
- 개발/CS/알고리즘
- 개발
- 개발/webrtc
- AI/GPT
- 알고리즘
- ⌨️Developer
- 개발/보안
- 개발/CS/OS
- 개발/네트워크
- 개발/Tools/프레임워크/Spring
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |