2017-04-14 2 views
0

私はドキュメントを持つデータベースを持っており、Foxxサービスへのキーの配列を提供して、そこからいくつかのデータを取得したいと考えています。それは単一の文字列を使用して動作しますが、私は配列の実装について何か不足しています。サービスの概要ページでアランゴによる素敵な解釈のFoxx Service Arrayの処理

UPDATED

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()の結果は、以下のように。それはあなたが配列を渡している場合、あなたはqueryParamかbodyParamなくpathParamを使用する必要があります404

enter image description here

答えて

0

を返しますので、しかし、私はそれが間違って処理します。

ルータパスを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

ここで、パラメータを使って配列を表現する方法はいくつかあります。うまくいけばうれしいです。 –

関連する問題