2017-02-09 3 views
2

이것은 여기에 오기를 좋아하는 경향이있는 것보다 조금 간단한 질문이지만 이것에 대한 답변을 찾기 위해 벽을 넘기 때문에 나는 절대적으로 cannot입니다 .-Google Cloud Platform HTTP 함수가 경로 매개 변수를 지원합니까?

Google Cloud Platform HTTP 기능 Route Parameters를 지원합니까? http://expressjs.com/en/guide/routing.html#route-parameters

특히 Google Cloud Platform HTTP 기능이 Express를 기본으로 사용하는 것으로 나타 났지만 모든 기능은 이미 req 및 res 매개 변수와 그 밖의 아무것도 실행되지 않은 것을 볼 수 있습니다. 본문에서 데이터에 액세스 할 수는 있지만 "/ users/: userId/books/: bookId"로 전달 된 요청에서 책 ID를 찾는 것과 같은 경로에서 매개 변수를 가져올 수 없습니다. 경로의 어느 부분이 여기와 같은 이름에 해당하는지 명시 할 수있는 능력이없는 req.params에 어떻게 배치 될 수 있는지 알 수 없습니다.

나는 항상 다른 방식으로 전달할 수 있음을 알고 있지만,이 설정은 사용하기를 원하는 설정에 따라 더 깨끗해 지므로 가능한 경우 작동하도록하고 싶습니다. 이 작업을 수행 할 수있는 방법이 있습니까? 아니면 완전히 지원되지 않습니까?

답변

1

저는 이것을 지원 그룹에 알릴 수있었습니다. 그렇습니다. 이것이 지원됩니다. 전체 경로를 가져 와서 어떤 방식 으로든 구문 분석하기 위해서는 req.path를 사용해야합니다. 사용 path-to-regexp)

+0

경로 매개 변수를 사용할 때 cli 배치 프로세스는 어떻게 생겼습니까? –

0

당신은 modofun을 시도 할 수 : https://modofun.js.org 요청 경로에 따라 여러 작업을위한 라우터, 또한 경로에서 분석하는 자동 매개 변수를 지원

.

URL 경로를 req.params에 채워진 매개 변수 목록과 연산 이름으로 구문 분석합니다. 정규식을 사용할 때 Express와 동일합니다. 당신은 또한 함수 인수로 확장 매개 변수를 가지고 같은 순수한 기능을 사용할 수 있습니다,

var modofun = require('modofun') 

exports.bookstore = modofun(
    { 
    /** 
    * /users/:userId/:bookId 
    */ 
    users: (req, res) => { 
     var [userId, bookId] = req.params 
     // ... 
     res.json(data) 
    } 
    }, 
    { mode: 'reqres' } 
) 

을 또는 : 나는 Google 클라우드 그것을 만든

var modofun = require('modofun') 

exports.bookstore = modofun(
    { 
    /** 
    * /users/:userId/:bookId 
    */ 
    users: (userId, bookId) => { 
     // ... 
     return data 
    } 
    }, 
    { mode: 'function' } 
) 

그래서 당신이 뭔가를 할 수 있습니다 기능 배포 저는 프로덕션 환경에서 Express에서 큰 종속성을 필요로하지 않기 때문에 주로보다 가벼운 것을 원했습니다.

하지만 Google 클라우드 기능과 함께 익스프레스를 사용할 수도 있습니다. 일반적인 경로 매칭 규칙을 사용하여 Express 앱을 만든 다음 GCloud 기능의 내보내기로 전달하는 것을 멈추게 할 수는 없습니다.

희망이 있습니다.

관련 문제