gpt4 book ai didi

javascript - NodeJS/ExpressJS/MongoDB 简单 API 错误

转载 作者:太空宇宙 更新时间:2023-11-04 03:21:51 25 4
gpt4 key购买 nike

我正在尝试使用 NodeJS/ExpressJS 和 mongoose 制作一个简单的 API。

我收到错误:未指定默认引擎且未提供扩展

API 将调用 cat API。由于它只支持XML,所以它会转换为JSON,然后插入到mongoDB中,然后返回给客户端的JSON将以非常特定的方式格式化。目前,我遇到了问题。谁能告诉我出了什么问题吗?

var express = require('express');
var router = express.Router();

var mongoose = require('mongoose');
var History = mongoose.model('History');
var request = require("request");
var convert = require('xml-js');
const util = require('util')

router.get('/cat', function(req, res, next) {
var url = "http://thecatapi.com/api/images/get?format=xml&type=jpg"
var result = request.get(url, function (error, response, body) {
return body;
});

var options = {ignoreComment: true, alwaysChildren: true, compact: true};
var result_get = convert.xml2js(result, options);

var image = result_get['response']['data']['images']['image']
var url_data = image['url']['_text']
var id_data = image['id']['_text']
var source_url_data = image['source_url']['_text']

console.log(
id_data ,
url_data ,
source_url_data
);

var history = new History()
//hardcode user for now
history.user = "1"
history.url = url_data
history.id = id_data
history.source_url = source_url_data
history.save(function(err, history){
if(err) {
return res.send(500,err);
}
var history_json= res.json(history);
var returned_json = {}
var key = 'image'
returned_json[key] = {}
var data = {
url: url_data,
id: id_data,
source_url: source_url_data
}

returned_json[key] = data
console.log(JSON.stringify(returned_json))

return res.json(returned_json);

});
});


module.exports = router;

返回的 JSON 应如下所示:

{
"image": {
"url": "http://24.media.tumblr.com/tumblr_m3ay3e1zHp1qcxyrro1_1280.jpg",
"id": "c11",
"source_url": "http://thecatapi.com/?id=c11"
}
}

最佳答案

您不需要 View 引擎,因为您只是编写一个仅返回 JSON 响应的后端服务器。在您的 index.js 文件(或您的服务器正在运行的任何位置)中,注释掉以下行。

app.set('view engine', 'html');

关于javascript - NodeJS/ExpressJS/MongoDB 简单 API 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49226926/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com