Я пытаюсь создать REST API, который подключается к экземпляру NEO4J. Я использую библиотеку 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
Я пытаюсь построить на этом примере создания конечной точки, где я могу передать параметр, который будет использоваться в запрос cypher, я выполнил эту документацию и в итоге оказался ниже.
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 })"
Похоже, что код не выгрузив заполнитель $ metricname в шифровальщика запросе значения, что я прошел (например TestMetricName).
Любая помощь приветствуется.
Какую версию 'neo4j' вы используете? –
Neo4j Community Edition 3.0.5 работает на GrapheneDB.com – n4nite
Попробуйте '{metricname}' вместо '$ metricname' –