Restify非常简单JSONClient返回空的json

时间:2013-04-13 20:20:00

标签: api node.js rest restify

我刚开始使用restify并尝试构建very simple JSONClient并在第一步失败。

var restify = require('restify');

var client = restify.createJsonClient({
    url: 'http://api.bgm.tv'
});
client.get('/calendar', function(err, req, res, obj) {
    console.log('%j', obj);
});

这段代码返回{},状态代码为200

如果你在浏览器或curl中检查http://api.bgm.tv/calendar,它似乎是一个合法的json GET Rest API,不需要auth或其他任何东西。

我尝试过其他API,例如stackoverflow api,它运行得很好,所以我认为服务器端有问题吗?

如果有人可以尝试运行它并帮助我指出可能出错的地方将非常感激。

2 个答案:

答案 0 :(得分:1)

我运行了你的示例节点代码并获得了正确的响应(与浏览时相同)。

您可能有一些版本问题或console.log大小限制。

尝试使用:console.log(obj[0]);它应该只打印json中的第一个对象。

我正在使用节点v0.8.9并在mac上修改v2.4.1。

答案 1 :(得分:0)

是的,当我使用Postman plugin for Chrome并向http://api.bgm.tv/calendar发出GET请求时,我得到了:

[
    {
        "weekday": {
            "en": "Mon",
            "cn": "星期一",
            "ja": "月耀日",
            "id": 1
        },
        "items": [
            {
                "id": 46458,
                "url": "http://bgm.tv/subject/46458",
                "type": 0,
                "name": "アイカツ! -アイドルカツドウ!-",
                "name_cn": "偶像活动",
                "summary": "",
                "eps": 0,
                "air_date": "2012-10-08",
                "air_weekday": 1,
                "images": {
                    "large": "http://lain.bgm.tv/pic/cover/l/db/7f/46458_8mM39.jpg",
                    "common": "http://lain.bgm.tv/pic/cover/c/db/7f/46458_8mM39.jpg",
                    "medium": "http://lain.bgm.tv/pic/cover/m/db/7f/46458_8mM39.jpg",
                    "small": "http://lain.bgm.tv/pic/cover/s/db/7f/46458_8mM39.jpg",
                    "grid": "http://lain.bgm.tv/pic/cover/g/db/7f/46458_8mM39.jpg"
                },
                "collection": {
                    "wish": 0,
                    "collect": 0,
                    "doing": 44,
                    "on_hold": 0,
                    "dropped": 0
                }
            },
            {
                "id": 57150,
                "url": "http://bgm.tv/subject/57150",
                "type": 0,
                "name": "LINE OFFLINE ~サラリーマン~",
                "name_cn": "离线LINE - 上班族 -",
                "summary": "",
                "eps": 0,
                "air_date": "2013-01-07",
                "air_weekday": 1,
                "images": {
                    "large": "http://lain.bgm.tv/pic/cover/l/71/28/57150_Kz171.jpg",
                    "common": "http://lain.bgm.tv/pic/cover/c/71/28/57150_Kz171.jpg",
                    "medium": "http://lain.bgm.tv/pic/cover/m/71/28/57150_Kz171.jpg",
                    "small": "http://lain.bgm.tv/pic/cover/s/71/28/57150_Kz171.jpg",
                    "grid": "http://lain.bgm.tv/pic/cover/g/71/28/57150_Kz171.jpg"
                },
                "collection": {
                    "wish": 0,
                    "collect": 0,
                    "doing": 206,
                    "on_hold": 0,
                    "dropped": 0
                }
            },
            {
                "id": 58709,
                "url": "http://bgm.tv/subject/58709",
                "type": 0,
                "name": "ハヤテのごとく! Cuties",
                "name_cn": "旋风管家 Cuties",
                "summary": "",
                "eps": 0,
                "air_date": "2013-04-08",
                "air_weekday": 1,
                "images": {
                    "large": "http://lain.bgm.tv/pic/cover/l/15/28/58709_H7uj8.jpg",
                    "common": "http://lain.bgm.tv/pic/cover/c/15/28/58709_H7uj8.jpg",
                    "medium": "http://lain.bgm.tv/pic/cover/m/15/28/58709_H7uj8.jpg",
                    "small": "http://lain.bgm.tv/pic/cover/s/15/28/58709_H7uj8.jpg",
                    "grid": "http://lain.bgm.tv/pic/cover/g/15/28/58709_H7uj8.jpg"
                },
                "collection": {
                    "wish": 0,
                    "collect": 0,
                    "doing": 219,
                    "on_hold": 0,
                    "dropped": 0
                }
            },

......还有更多,但SO上答案的正文限制为30,000个字符。