2015-01-31 117 views
1

我在这里的问题非常具体,但如何设置REST find调用与contentBlocks NodeJS插件(https://github.com/primaryobjects/contentblocks)一起使用。使用nodejs创建REST API以与contentBlocks一起使用(createjs.org)

我的内文路径设置如下:

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包是如何通过的部分数据,所以不知道如何编码该数据进来。

任何帮助,非常感谢。

+0

您应该添加您的更新作为答案。回答你自己的问题是可以的。 – J0e3gan 2015-02-01 02:25:26

回答

1

我想出了我在这里做错了什么。我有我的路线设置正确:

router.get('/content/find?q={"@subject":"[id]"}', content.find); 

应该是简单的:

router.get('/content/find', content.find); 

这就是现在被正确地路由。