developer tip

급행 경로 매개 변수 조건

optionbox 2020. 11. 17. 08:01
반응형

급행 경로 매개 변수 조건


Express 앱에 다음과 같은 경로가 있습니다.

app.get('/:id', function (request, response) {
});

ID는 항상 숫자입니다. 그러나 현재이 경로는 /login.

나는 이것에서 두 가지를 원한다고 생각합니다.

  1. ID가 숫자 인 경우에만이 경로를 사용하고
  2. 이미 정의 된 특정 매개 변수에 대한 경로가없는 경우에만 해당됩니다 (예 :와의 충돌 /login).

할 수 있습니까?


Marius의 답변을 확장하면 정규식과 매개 변수 이름을 제공 할 수 있습니다.

app.get('/:id(\\d+)/', function (req, res){
  // req.params.id is now defined here for you
});

예, http://expressjs.com/guide/routing.htmlhttps://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

반응형