Hy Guys我尝试制作一个简单的API,但我想做一些事情,因为我不能学习nodejs不长。我想要而不是api显示
无法获取/ ROUTE
显示此
{ "代码":404, "消息":"未找到" }
Att所有路线。
我的代码:
var http = require("http");
var express = require('express');
var app = express();
var mysql = require('mysql');
var bodyParser = require('body-parser');
var connection = mysql.createConnection({
host : 'localhost',
user : 'root',
password : 'root',
database : 'restapi',
port : '8889'
});
connection.connect(function(err) {
if (err) throw err
console.log('Congrats you are connected')
})
app.use( bodyParser.json() ); // to support JSON-encoded bodies
app.use(bodyParser.urlencoded({ // to support URL-encoded bodies
extended: true
}));
var server = app.listen(3000, "127.0.0.1", function () {
var host = server.address().address
var port = server.address().port
console.log("Example app listening at http://%s:%s", host, port)
});
app.all('/*', function(req, res, next) {
// CORS headers
res.header("Access-Control-Allow-Origin", "*"); // restrict it to the required domain
res.header('Access-Control-Allow-Methods', 'GET,PUT,POST,DELETE,OPTIONS');
// Set custom headers for CORS
res.header('Access-Control-Allow-Headers', 'Content-type,Accept,X-Access-Token,X-Key');
if (req.method == 'OPTIONS') {
res.status(200).end();
} else {
next();
}
});
//GET Domains
app.get('/api/domains.json', function (req, res) {
console.log(req);
connection.query('select * from domain', function (error, results, fields) {
if (error) throw error;
var user = results[0];
if (user == undefined) {
res.status(404);
res.send({
code: 404,
message: "Not found"
});
} else {
res.send({
code: 200,
message: 'success',
datas: results
});
}
});
});
所以它只是一个请求,但我会尝试添加POST,PUT和删除,juste做一个简单的CRUD。
答案 0 :(得分:0)
我看到一件可能影响预期行为的事情。您在最具体的路线之前宣布更一般的路线。
这个是如此通用,即将处理所有请求
app.all( '/ *',
这个包含在前一个中,所以没有人会在这里处理。
app.get( '/ API / domains.json',
尝试更改两条路线的顺序,并告诉我它是否会改变行为。
答案 1 :(得分:0)
res.header('Access-Control-Allow-Headers', 'Content-type,Accept,X-Access-Token,X-Key');
if (req.method == 'OPTIONS') {
res.status(200).end();
} else {
res.status(404);
res.send({
code: 404,
message: "Not found"
});
}
我改变条件并且有效。