- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我有自己的 REST API,它在内部调用 NLP API,为此我必须在其 URL 上发布一些数据。我正在使用needle来实现这一点,但是有一些错误我无法捕获,并且我自己的api正在向前端返回500。
这是我的 server.js 代码的一部分:
app.post('/api/get',function(req,res) {
//console.log(req);
console.log("here in post ");
if(!req.body){
return res.send(400);
}
//console.log(req.body.msg);
var searchQuery = req.body.msg;
var options = { 'api-key' : '3080a0e0-1111-11e5-a409-7159d0ac8188' };
needle.post('http://api.cortical.io:80/rest/text/keywords?retina_name=en_associative',searchQuery,options,function(err, resp){
if(err){
console.log('something went wrong :' + err);
}
console.log('Got :'+resp );
});
我每次都会在帖子中到达此处
,但此后什么也没有。我也很好奇这是否是为外部 API 指定 api-key 的正确方法。
谢谢。
最佳答案
如果您使用的是express 4.x,我不确定您是否配置了express服务器,但您需要安装body-parser并在express配置中添加以下行:
var express = require('express');
var app = express();
var bodyParser = require('body-parser');
app.use(bodyParser.urlencoded({extended: false}));
app.use(bodyParser.json());
如果您使用的是express 3.x版本,则不需要安装body-parser:
var express = require('express');
var app = express();
app.use(express.json());
app.use(express.urlencoded());
现在关于你的帖子路线我稍微编辑了一下:
var config = require('./config');
app.post('/api/get', function (req, res) {
var searchQuery = {
q: req.body.msg
};
var NEEDLE_API_KEY = config.needle.API_KEY;
var NEEDLE_URL = config.needle.URL;
var options = {
'api-key': NEEDLE_API_KEY
};
needle.post(NEEDLE_URL, searchQuery, options, function (err, needleResponse) {
console.log(err || needleResponse.body);
res.json(err || needleResponse.body);
});
});
因此,我添加了一个名为 config.js 的新文件,以便为您的所有 api key 、第三方服务的 URL 提供引用。
module.exports = {
needle: {
API_KEY: process.env.NEEDLE_API_KEY,
URL: 'http://api.cortical.io:80/rest/text/keywords?retina_name=en_associative'
}
};
因此,当您在控制台运行服务器时,您应该将一个值传递给名为 NEEDLE_API_KEY 的全局环境变量:
NEEDLE_API_KEY=666 node app.js
因此,通过这种方式,您不会在源代码上保存任何 key ,而是将 key 保存在仅在服务器计算机上可用的全局环境变量中。
关于javascript - 针 : node. js 在 POST 上返回 500,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30682976/
我在代码 (.NET) 中有两个位图。我想在大图像(大海捞针)中搜索小图案(针)。如何做到这一点? 最佳答案 这取决于您是使用按位模式进行“精确”匹配,还是仅进行近似(模糊)图像匹配。如果您要进行精确
不知道为什么它找不到数组中的值。每当我运行代码时,它都会返回“大海捞针”。 /** * helpers.c * * Computer Science 50 * Problem Set 3
我有自己的 REST API,它在内部调用 NLP API,为此我必须在其 URL 上发布一些数据。我正在使用needle来实现这一点,但是有一些错误我无法捕获,并且我自己的api正在向前端返回500
我在 rails 3.1 中安装了一个新的 gem needle。 它安装正确,但是当我使用命令 rails server --debugger 启动我的 rails 我收到以下警告: .rvm/ge
我是一名优秀的程序员,十分优秀!