일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- 자동주입
- react
- 깃허브
- pom.xml
- 스프링
- 객체
- JVM
- Spring 개발환경 설정
- 영속성 컨텍스트
- 빈
- Spring legacy Project
- 스프링 컨테이너
- java
- 인터페이스
- mysql
- 의존성주입
- 어노테이션
- 이클립스
- 자바
- 리액트
- merge
- 트랜잭션
- DI
- @transactional
- springboot
- github
- 상속
- @Bean
- spring
- list
- Today
- Total
DEVLOG
[Thymeleaf] @RequestParam, @PathVariable 예제 본문
URL VS URI
URI는 URL의 의미를 품고있다.
URL(Uniform Resource Locator)은 자원이 실제로 존재하는 위치를 가리키며, URI(Uniform Resource Identifier)는 자원의 위치뿐만 아니라 자원에 대한 고유 식별자로서 URL을 의미를 포함한다.
@RequestParam
파라미터의 값과 이름을 함께 전달하는 방식으로 게시판 등에서 페이지 및 검색 정보를 함께 전달하는 방식을 사용할 때 많이 사용한다.
@PathVariable
URI에서 각 구분자에 들어오는 값을 처리해야 할 때 사용한다.
정리
1) @RequestParam 과 @PathVariable은 둘 다 uri를 통해 전달된 값을 파라미터로 데이터를 받아오는 역할을 한다.
2) @PathVariable은 값을 하나만 받아올 수 있으므로, 쿼리스트링 등을 이용한 여러 개 데이터를 받아올 때는 @RequestParam을 사용한다.
3) @RequestParam은 URI를 통해 전달된 값이 아니더라도, ajax 요청을 통해 body에 담아온 데이터를 여러 타입으로 받을 수 있다.
예제
1. @RequestParam으로 url의 값을 매개변수로 받고자 할 때
URI : http://localhost/admin/adminReviewView?rno=1
<td>
<a th:href="@{/admin/adminReviewView(rno=${rList.rno})}" th:text="${rList.title}"></a>
</td>
@GetMapping("/admin/adminReviewView")
public String adminReviewView(@RequestParam("rno") int cno) {
return "admin/adminReviewView";
}
2. @PathVariable으로 URI의 값을 매개변수로 받고자 할 때
URI : http://localhost/admin/adminReviewView/1
Thymeleaf에서는 아래 두 방법 중 하나로 url 경로를 지정할 수 있다.
<!-- 첫번째 방법 -->
<td>
<a th:href="@{/admin/adminReviewView/{rno}(rno=${rList.rno})}" th:text="${rList.title}"></a>
</td>
<!-- 두번째 방법 -->
<td>
<a th:href="@{'/admin/adminReviewView/' + ${rList.rno}}" th:text="${rList.title}"></a>
</td>
@GetMapping("/admin/adminReviewView/{rno}")
public String adminReviewView(@PathVariable("rno") int rno) {
...
return "admin/adminReviewView";
}
🙆♂️출처🙇♂️
https://velog.io/@torang/URL%EA%B3%BC-URI%EC%9D%98-%EC%B0%A8%EC%9D%B4%EC%A0%90
URL과 URI의 차이점
RESTFul API에 대해서 공부를 하다보면 URI라는 표현을 종종 사용한다. 언뜻보면 URL이랑 차이점이 없어보이지만 세세하게 따지고들면 엄연한 차이가 있다. 결론부터 말하면 URI는 URL의 의미를 품고
velog.io
https://byul91oh.tistory.com/434
@RequestParam과 @PathVariable?
컨트롤러에서 Requestparam으로 파라미터 값을 넘겨받을 때 사용하는 어노테이션 스프링에서는 컨트롤러로 사용할 클래스 상단에 @Controller를 지정합니다. 주로 사용하는 형태의 파라메터를 전달하
byul91oh.tistory.com
https://hooongs.tistory.com/234
[Spring Boot] Thymeleaf를 사용해 PathVariable 넘기는 방법
[Spring Boot] Thymeleaf를 사용해 PathVariable 넘기는 방법 CRUD에서 Create를 제외하고는 URL에 해당 객체의 id값을 넘겨주어서 구현을 해줄 수 있다. Spring Boot에서는 Controller에서 @PathVariable 어노테..
hooongs.tistory.com
'Spring Boot' 카테고리의 다른 글
[Spring Boot] @Transactional(rollbackFor = Exception.class) (0) | 2022.07.31 |
---|---|
PSA (Portable Service Abstraction) 개념 (0) | 2022.06.30 |
jstl 사용법 (0) | 2022.06.29 |
Ajax를 사용하는 이유 첫 번째 (0) | 2022.06.28 |
스프링 기본파싱전략과 json통신 (0) | 2022.06.27 |