使用 nodejs 创建 REST API 以用于 contentBlocks (createjs.org)
Creating REST API using nodejs for use with contentBlocks (createjs.org)
我在这里的问题非常具体,但在如何设置与 contentBlocks NodeJS 插件 (https://github.com/primaryobjects/contentblocks) 一起使用的 REST 查找调用方面遇到困难。
我的 contentBlock 路径设置如下:
var contentBlocks = require('contentblocks')(
{
app: app,
host: 'localhost',
pathFind: '/content/find?q={"@subject":"[id]"}',
pathPost: '/content',
pathPut: '/content/[id]',
pathDelete: '/content/[id]'
});
我的路线设置为:
router.get('/content/find?q={"@subject":"[id]"}', content.find);
映射到 content.js:
exports.find = function(req, res) {
res.json("[]");
}
当我执行时,访问页面时一直出现以下错误:
GET /content/find?q={"@subject":"<homePage_description>"} 404 275.193 ms - 3986
undefined:1
<!DOCTYPE html><html><head><title></title><link rel="stylesheet" href="/styles
^
SyntaxError: Unexpected token <
at Object.parse (native)
at c:\dev\camsc\node_modules\contentblocks\lib\managers\WebManager.js:19:42
at IncomingMessage.<anonymous> (c:\dev\camsc\node_modules\contentblocks\node_modules\e
asypost\lib\easypost.js:19:13)
at IncomingMessage.emit (events.js:117:20)
at _stream_readable.js:943:16
at process._tickCallback (node.js:419:13)
而我的看法如下:
block content
h1= title
#homeContentBlock(about='homePage_description')
div(property='content')
p.
Some text here...
我认为问题出在正在传递的查找请求中的“<”,但这是 contentBlocks 包传递数据方式的一部分,因此不确定如何对传入的数据进行编码。
非常感谢任何帮助。
我发现我在这里做错了什么。我的路线设置不正确:
router.get('/content/find?q={"@subject":"[id]"}', content.find);
应该很简单:
router.get('/content/find', content.find);
现在可以正确路由。
我在这里的问题非常具体,但在如何设置与 contentBlocks NodeJS 插件 (https://github.com/primaryobjects/contentblocks) 一起使用的 REST 查找调用方面遇到困难。
我的 contentBlock 路径设置如下:
var contentBlocks = require('contentblocks')(
{
app: app,
host: 'localhost',
pathFind: '/content/find?q={"@subject":"[id]"}',
pathPost: '/content',
pathPut: '/content/[id]',
pathDelete: '/content/[id]'
});
我的路线设置为:
router.get('/content/find?q={"@subject":"[id]"}', content.find);
映射到 content.js:
exports.find = function(req, res) {
res.json("[]");
}
当我执行时,访问页面时一直出现以下错误:
GET /content/find?q={"@subject":"<homePage_description>"} 404 275.193 ms - 3986
undefined:1
<!DOCTYPE html><html><head><title></title><link rel="stylesheet" href="/styles
^
SyntaxError: Unexpected token <
at Object.parse (native)
at c:\dev\camsc\node_modules\contentblocks\lib\managers\WebManager.js:19:42
at IncomingMessage.<anonymous> (c:\dev\camsc\node_modules\contentblocks\node_modules\e
asypost\lib\easypost.js:19:13)
at IncomingMessage.emit (events.js:117:20)
at _stream_readable.js:943:16
at process._tickCallback (node.js:419:13)
而我的看法如下:
block content
h1= title
#homeContentBlock(about='homePage_description')
div(property='content')
p.
Some text here...
我认为问题出在正在传递的查找请求中的“<”,但这是 contentBlocks 包传递数据方式的一部分,因此不确定如何对传入的数据进行编码。
非常感谢任何帮助。
我发现我在这里做错了什么。我的路线设置不正确:
router.get('/content/find?q={"@subject":"[id]"}', content.find);
应该很简单:
router.get('/content/find', content.find);
现在可以正确路由。