url 주소에 값을 받아오지 못합니다
100
작성한 질문수 4
Request URL:
http://localhost:3000/todo/read/$%7Bprefix%7D/$%7Btno%7D
게시물 번호값인 tno를 int 로 받아오지 못하고 있습니다
어떻게 해야할까요?
답변 1
0
안녕하세요, 인프런 AI 인턴입니다.
박지영님, URL에서 변수 값을 받아오는데 문제가 있으시군요. 질문에서 제공하신 URL을 보니 ${prefix}와 ${tno}가 템플릿 리터럴/변수로 처리되지 않고 단순 문자열로 인식되고 있는 것 같습니다. 해당 변수를 올바르게 처리하려면 다음과 같은 접근 방법을 시도해보세요:
React에서 컴포넌트 내에서 URL을 생성할 때, 백틱(`)을 사용한 템플릿 리터럴을 활용하세요.
예를 들어:
const prefix = 'examplePrefix';
const tno = 123;
const url = `http://localhost:3000/todo/read/${prefix}/${tno}`;
이렇게 하면 prefix와 tno 값이 제대로 URL에 포함됩니다.
또한, 스프링부트 API 서버에서 해당 변수를 받을 때는 RESTful 방식으로 URL 경로 변수를 매핑할 수 있도록 컨트롤러 메서드에 이를 명시해야 합니다.
예를 들어:
@RestController
@RequestMapping("/todo")
public class TodoController {
@GetMapping("/read/{prefix}/{tno}")
public ResponseEntity<Todo> getTodo(
@PathVariable String prefix,
@PathVariable int tno) {
// tno 값을 int로 제대로 받을 수 있습니다.
Todo todo = someService.getTodoByPrefixAndTno(prefix, tno);
return ResponseEntity.ok(todo);
}
}
위와 같이 @PathVariable 어노테이션을 사용하여 경로 변수로 받아오면, tno를 int로 처리하는 데 문제없을 것입니다.
추가적으로 URL 인코딩도 확인해보시고, 프론트엔드와 백엔드 간의 데이터 전달 방식이 일치하는지 점검해보세요. 도움이 필요하시면 언제든지 질문해 주세요!
아래는 관련된 스프링 부트 문서입니다:
Spring MVC Path Matching and Content Negotiation
감사합니다!
동일하게 실습하는데 이상하게 페이지를 찾지 못하네요..
0
74
2
22. REST 방식 컨트롤러 만들기(2), 29. 등록처리 부분 질문이 있습니다.
0
74
2
37강. 강의수업듣다 질문드립니다.
0
57
2
TodoDTO test 함수
0
80
3
강사님 오타 있음요
0
78
2
No 1. 교제(ppt) soruce 복붙 문제 의 건
0
95
4
No 1. 교제(ppt) soruce 복붙 문제 의 건
0
70
3
17강 문의드립니다.
0
44
1
카카오 연동설정이 이제 안되는거 같아요
0
190
2
8장 마지막 강의 시 오류
0
98
4
혹시 뭐가 문제인지 알 수 있나요?
0
87
2
챕터: React-Router 설정
0
58
2
백)TODO관련
0
56
2
마리아 db 설치중 포트를 이미 사용중이라고 합니다
0
112
2
이강의 듣고 소화시켰다면 몇년차 정도 개발자라고 할수 있을까요?
0
105
1
CSR , SSR 의 수요 궁금증 질문
0
83
2
섹션5부터...
0
73
1
간단한 코드 질문!!
0
61
2
tbl_todo 질문입니다
0
65
2
수업 외 질문인데 'tbl'이 무슨 의미인가요???
0
292
2
엔티티클래스에서 질문입니다
0
78
2
수정시 writer값이 삭제되는 오류
0
42
2
교안 31 오타 수정해주세요
0
64
2
쿠키에 accessToken, refreshToken을 담고, 조회 시에 undefined
0
80
1





