2017-02-21 9 views
1

NEO4Jインスタンスに接続するREST APIを作成しようとしています。私は基礎としてkoa-neo4jライブラリを使用しています(https://github.com/assister-ai/koa-neo4j-starter-kit)。KOA-NEO4Jライブラリを使用してパラメータを渡すことができません

この最初の例はうまくいきます。エンドポイント「myapp/metric」にヒットしたら、データベースから期待した結果が返されます。

Index.js

//Return all metrics from the database 
app.defineAPI({ 
    method: 'GET', 
    route: '/api/v1/imm/metric', 
    cypherQueryFile: './src/api/v1/imm/metric/metric.cyp' 
}); 

metric.cyp

MATCH (a:metric) 
RETURN a AS metric 

私は私がに使用されるパラメータを渡すことができますエンドポイントを作成この例で構築しようとしています私は暗号化の質問を文書化し、以下で終わりました。

Index.js

//Return all metrics from the database matching a specific metric name 
app.defineAPI({ 
    method: 'GET', 
    route: '/api/v1/imm/metric/:metricname', 
    cypherQueryFile: './src/api/v1/imm/metric/metric-by-name.cyp' 
}); 

メトリック・バイ・name.cyp私はエンドポイントをヒット

MATCH (a:metric {name: $metricname }) 
RETURN a AS metric 

"myappに/メトリック/ TestMetricName" 私はエラーメッセージが表示されますNeo4jから来ているバック。

ConflictError: error while executing Cypher: Error: Variable $metricname not defined (line 1, column 24 (offset: 23)) "MATCH (a:metric {name: $metricname })"

コードは、私が(例えばTestMetricName)に合格した値をCYPHERクエリ内のプレースホルダの$ METRICNAMEをスワップアウトされていないように見えます。

助けてください。

+0

'どのバージョンの使用neo4j'? –

+0

GrapheneDB.comでNeo4j Community Edition 3.0.5を実行しています – n4nite

+2

'$ metricname'の代わりに' {metricname} 'を試します –

答えて

関連する問題