![](/img/trans.png)
[英]How the android app make a RESTAPI call to the bluemix deployed node.js app which takes that request and connects to sqldb?
[英]How to make RESTAPI calls in android using node.js
我已经在Node.js中创建了一个RESTAPI,并尝试将其调用到我的android应用程序中。 但是我无法向Node.js Rest API发出请求。
我的代码如下:
Node.js
var restify = require('restify');
var request = require('request');
var http = require('http');
var appContext = require('./config.js');
function labsAPI(jsonparseStr) {
return JSON.stringify(labsapi);
}
function searchbase(req, res, next){
var options = {
host: appContext.host,
path: appContext.path+req.params.name+appContext.queryString
};
cbCallback = function(response) {
var str = '';
response.on('data', function (chunk) {
str += chunk;
});
response.on('end', function () {
jsonparseStr = JSON.parse(str);
json_res = labsAPI(jsonparseStr);
res.writeHead(200,{'Content-Type':'application/json'});
res.end(json_res);
});
}
http.request(options, cbCallback).end();
}
var server = restify.createServer({name:'crunchbase'});
server.get('/search/:name',searchbase);
server.listen(appContext.port, function() {
console.log('%s listening at %s', server.name, server.url);
});
运行我的代码后:localhost:8084 / search / name
我能够将输出返回给浏览器一个有效的Json。
现在,我想将此Web服务消费到我的android应用程序中,但我不知道该怎么做。 我尝试了一些示例http://hmkcode.com/android-parsing-json-data/
在上述MainActivity.java博客中,我将网址更改为
new HttpAsyncTask().execute("http://127.0.0.1:8084/search/name");
但它什么也没显示
127.0.0.1是本地主机的IP地址。 从浏览器localhost解析为您的计算机,从Android设备localhost解析为您的Android设备,但您的节点应用程序未在其上运行。
您需要确定计算机的远程地址是什么。 只要您的Android设备位于同一网络上,LAN或WLAN就足够了。
另外,请确保防火墙设置允许访问您的计算机。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.