반응형
급행 경로 매개 변수 조건
Express 앱에 다음과 같은 경로가 있습니다.
app.get('/:id', function (request, response) {
…
});
ID는 항상 숫자입니다. 그러나 현재이 경로는 /login
.
나는 이것에서 두 가지를 원한다고 생각합니다.
- ID가 숫자 인 경우에만이 경로를 사용하고
- 이미 정의 된 특정 매개 변수에 대한 경로가없는 경우에만 해당됩니다 (예 :와의 충돌
/login
).
할 수 있습니까?
Marius의 답변을 확장하면 정규식과 매개 변수 이름을 제공 할 수 있습니다.
app.get('/:id(\\d+)/', function (req, res){
// req.params.id is now defined here for you
});
예, http://expressjs.com/guide/routing.html 및 https://www.npmjs.com/package/path-to-regexp (익스프레스 사용)를 확인하십시오. 작동 할 수있는 테스트되지 않은 버전은 다음과 같습니다.
app.get(/^(\d+)$/, function (request, response) {
var id = request.params[0];
...
});
당신이 사용할 수있는:
// /12345
app.get(/\/([^\/]+)\/?/, function(req, res){
var id = req.params[0];
// do something
});
아니면 이거:
// /post/12345
app.get(/\/post\/([^\/]+)\/?/, function(req, res){
var id = req.params[0];
// do something
});
참고 URL : https://stackoverflow.com/questions/11258442/express-routes-parameter-conditions
반응형
'developer tip' 카테고리의 다른 글
ReSharper는 메서드가 정적 일 수 있지만 그렇지 않은 경우 불평합니다. (0) | 2020.11.17 |
---|---|
두 페이지로드시 Rails 플래시 메시지가 유지됨 (0) | 2020.11.17 |
섹션 헤더가 UITableView 일반 스타일에서 수행하는 것처럼 UICollectionView에서 Supplementary View를 플로팅하는 방법 (0) | 2020.11.17 |
childNode를 통해 루프 (0) | 2020.11.17 |
jinja2 템플릿에서 jinja2 구문 이스케이프 (0) | 2020.11.17 |