2017-04-14 18 views
0

문서가있는 데이터베이스가 있으며 Foxx 서비스에 대한 키 배열을 제공하는 일부 데이터를 가져와야합니다. 그것은 하나의 문자열을 사용하여 작동하지만 배열을 구현하는 것에 대해 뭔가 빠져 있습니다. 서비스 개요 페이지에 아란하여 좋은 해석에Foxx 서비스 배열 처리

업데이트]

router.get('/keys', function (req, res) { 

    const keys = db._query(aql` 
     FOR huis IN test 
     FILTER huis._key in ${req.queryParams.keys} 
     RETURN { 
      'adres': huis.adres, 
      'postcode': huis.postcode, 
      'plaats': huis.plaats 
     } 
    `); 

    res.send(keys); 
}) 
.queryParam('keys', joi.array().required(), 'query to search for') 
.response(joi.array() 
    .items(
     joi.string().required() 
    ) 
    .required(), 'List of house keys.') 
    .summary('List house keys') 
    .description('Makes LAT LNG from house keys.'); 

joi.array() 결과는 아래 그림과 같이. 당신이 배열을 전달하는 경우는 404

enter image description here

답변

0

를 반환하지만 처리 잘못 때문에, 당신은 queryParam 또는 bodyParam 아니라 pathParam를 사용해야합니다.

라우터 경로를 router.get('/keys', function (req, res) {으로 변경 한 다음 req.queryParams.keys 값으로 액세스하는 것이 좋습니다.

queryParam을 통해 배열을 전송할 때 몇 가지 옵션이 있습니다 (/keys?keys=1234,5678 또는 /keys?keys=1234&keys=5678).

+0

감사합니다. 이제 쿼리 매개 변수 \ "keys \"가 배열이어야합니다. "그래서 배열 처리가 여전히 어쨌든 괜찮지는 않습니다. joi requieres 배열, API 페이지에 배열 필드가 표시됩니다. 배열을 제공 한 다음 배열로 사용해야한다고 말합니다. – Thijs

+0

줄 바꿈 분리 기호가있는 키를 추가해야하는 장소에 넣을 때 ' 374875 ","387781 "] ' – Thijs

+0

이제 매개 변수가있는 배열을 나타내는 여러 가지 방법이 있습니다. 다행 이네요. –