개발로그필름

URL 설정시 변수에 대한 모든 것 본문

WEB

URL 설정시 변수에 대한 모든 것

yuullog 2023. 1. 19. 16:25
728x90
반응형
SMALL

 

라우터 안 경로 표시할 때 parameter(변수)를 사용하면 url 안에 변수를 포함시킬 수 있게 해 준다

parameter를 고정된 변수로 만드는 것은 불가능한데 그렇게 되면 

개발자는 모든 경로마다 라우터를 새로 만들어줘야 한다

여기서 parameter를 id라고 칭하겠다

 

예를 들어,

내가 다른 일을 하는 동안 사용자가 내 개발 사이트에서 영상을 업로드하는데 그 주소에 대한 라우터를 내가 일일이 만들 수는 없다고 생각하면 이해하기가 쉽다

 

작동 방식은 사용자가 url 경로를 설정하면 express가 맞는 위치를 해당 변수 위치에 넣어준다

이때! express에게 '나 변수야'하고 알려주기 위해 변수 앞에 :를 표시한다   :id

 

변수를 만든 뒤 해당 라우터의 위치가 중요한데

변수가 포함된 라우터를 가장 밑에 둬야 한다

제일 위에 두게 되면 모든 경로를 변수로 인식해 버리기 때문이다

이해를 돕기 위해 예를 들면,

/video/:id

/video/upload

의 순서로 라우터를 위치시켜 놓으면

express는 /video/upload 경로로 가고 싶지만 upload를 id라고 인식해 버려서 /video/upload로 평생 갈 수 없게 된다

 

그럼 해결 방법은?!

parameter가 express한테 id는 숫자여야 한다고 전달할 수 있으면 구분이 되지 않을까??

id를 숫자만 허용되게 하려면 정규식을 써야 한다

 

정규식은 문자열로부터 특정 정보를 추출해 내는 방법으로 모든 프로그래밍 언어에 존재하고 개발자에게 아주 유용하게 쓰인다

아래 사이트는 정규식을 적용하기 전에 맞게 작성했나 확인해 볼 수 있는 사이트이다!

 

https://www.regexpal.com/

 

Regex Tester - Javascript, PCRE, PHP

RegexPal requires a modern browser. Please update your browser to the latest version and try again.

www.regexpal.com

 

 

 

앞서 /video/:id  url에서 id를 숫자로만 한정 지을 수 있는 정규식을 찾았는데

/video/:id(\\d+)  와 같이 사용하면 된다

이럴 경우에는 이제 앞에 발생했던 문제가 사라진다

/video/upload를 해도 upload는 숫자가 아니기 때문에 맞는 경로로 접속할 수 있게 되는 것이다

반응형
LIST

'WEB' 카테고리의 다른 글

[WEB] 웹 자동화란?  (0) 2025.03.18
morgan  (0) 2023.01.16
[WEB] MVP.css  (0) 2022.07.25
[WEB] Pug  (0) 2022.07.24
[WEB] Router  (0) 2022.07.23
Comments