Tag: 路由

路由映射REST API的“正确”方法

我工作在一个小节点/angular应用程序 superadmin应该能够在节点应用程序直接传送的视图内创build/编辑/删除新的客户帐户。 另一方面,客户端通过节点应用程序提供的Angular和REST API与后端/数据库通信。 客户需要用户名/密码login到他们的帐户。 问题:我有这个路由图,是不是认为:客户端需要在REST API的URL中,所以后端知道要获取哪些数据? :在url中指出,这是一个variables… Route map Superadmin /admin/client – POST /admin/client/:id – GET /admin/client/:id – PUT /admin/client/:id – DELETE /admin/clients – GET Route map API JSON /v1/:client/candidate – POST /v1/:client/candidate/:id – GET /v1/:client/candidate/:id – PUT /v1/:client/candidate/:id – DELETE /v1/:client/candidates – GET /v1/:client/settings – GET /v1/:client/settings – PUT

Express.js – pipe理所有路由的单个路由文件

我有点新express.js并没有find一个匹配的答案,我的问题呢。 我有一个像这样的文件夹结构的快速应用程序: app/ |–app.js |–routes/ |–|–index.js |–|–news.js |–|–users.js |–some_other_folders/ 至于现在,我已经在app.js中pipe理了我的路线,如下所示: var index = require('./routes/index'); var users = require('./routes/users'); … app.use('/', index); app.use('/users', users); … 这工作正常,但我原本只想用一个文件来pipe理我所有的路由,所以我只需要在app.js.中引用这个文件。 像这样的东西: [app.js] var routes = require('./routes/routes'); app.use('/', routes); [routes/routes.js] … router.get('/', function(req, res) { res.render('index.html'); }); require('./users'); // This is meant to refer to the users routes … 有没有办法将我的其他路线文件(如用户,新闻等)包含到“主”路由文件中? 还是有其他的最佳做法来pipe理express.js内的路线? […]

如何正确使用Express 4多个路由器

我试图使用Express 4路由器根据path使用不同的路由器。 我想要版本2处理的所有/api/v2/路由,以及版本1处理的其他所有路由。 下面的设置正确地为我提供了所有的version1路由,但似乎忽略了version2因为每次我testing这些端点时都会收到“无法获取…”消息。 routes.js: var version1 = require('./routes/vers1'); var version2 = require('./routes/vers2'); module.exports = function(app) { app.all('/api/v2/*', version2); app.all('/*', version1); };

绑定Sails.js路由到模型蓝图行动通过请求正文

我正在使用sails.js v0.11.1。 在我的routes.js文件中,我写了这条路线: 'POST /user' : { model: 'user', blueprint: 'create' }, 我正在发送一个POST请求(通过邮递员 )给/user与身体: { userName : "firstUser", password : "secretPwd5779", firstName : "William", lastName : "Askey" } 但我得到这个回应: { "error": "E_VALIDATION", "status": 400, "summary": "4 attributes are invalid", "model": "User", "invalidAttributes": { "userName": [ { "rule": "string", "message": "`undefined` should be a string (instead […]

如何使用包含斜线字符的参数?

我personcollections中的MongoDB密钥如下所示: TWITTER/12345678 GOOGLE/34567890 TWITTER/45678901 … 我这样定义getPersonByKey路线: router.route('/getPersonByKey/:providerKey/:personKey'). get(function(req, res) { // get person by key var key = req.params.providerKey + '/' + req.params.personKey; // … } ); 当然,我更愿意写这样的东西: router.route('/getPersonByKey/:key'). get(function(req, res) { // get person by key var key = req.params.key; // … } ); 但是,这是行不通的,因为GET http://localhost/getPersonByKey/TWITTER/12345678当然会产生一个404,因为带斜线的参数被解释为两个不同的参数…任何想法?

语法错误:意外的令牌{

这是我的模型: var mongoose = require('mongoose'); var partySchema = new mongoose.Schema({ partyCode: Number, partyName: String, mobileNo: String }); var Party = module.exports = mongoose.model('Party', partySchema); module.exports.getAllParties = function(callback){ Party.find().lean().exec(function(err, parties){ if (err) return callback(err, null); callback(null, parties); }); }; 这是路线: router.get('/', function(req, res, next){ //retrieve all parties from Party model //mongoose.model('Party').find({}, function (err, parties) { Party.getAllParties(err, […]

如何让node.js返回没有文件扩展名的页面?

现在,任何静态html将得到服务器(about.html,work.html等)使用 app.use express.static("#{__dirname}/app") 我如何告诉它只用“about”返回相同的文件?

节点js表示路由所有path

我正在使用快递。 我喜欢创build一个path,将URLtypes为“get”的所有请求以“/ app / static / * pagePath”作为前缀,导航到“/ assets / app / static / pagePath”。 我正在尝试做以下,但是不起作用。 app.get('/app/static/*path', function (req, res) { res.sendfile('assets/app/static/' + req.params.path); }); 任何想法?

使用MEAN堆栈,Express js路由不能按预期工作

我是相当新的expression/mongoose,不能解决为什么我的路线不工作。 我正在使用MEAN堆栈。 我有一个全面的优惠路线“/优惠”,然后提供具体的优惠路线“/优惠/电视”和“/优惠/笔记本电脑”,但是当试图路由到特定的路线时,通过“/优惠”而不是我有书面。 我错过了什么? 谢谢! 我的代码: 的index.html <a href="#!/offers/televisions">Television Offers</a> config.js when('/offers',{ templateUrl: 'views/offers/list.html' }). when('/offers/televisions',{ templateUrl: 'views/offers/list.html' }). when('/offers/laptops',{ templateUrl: 'views/offers/list.html' }) routes.js //Offer Routes var offers = require('../app/controllers/offers'); app.get('/offers', offers.all); app.get('/offers/televisions', offers.televisions); app.get('/offers/laptops', offers.laptops); offers.js /** * Find all offers */ exports.all = function(req, res){ console.log('all'); Offer.find({}, function(err, offers){ if (err) { res.render('error', […]

Angular.js和Express:路由不起作用

我search了一个类似的问题,但仍然没有解决scheme。 在比较我的应用程序到Angular-Express-seed,Angular-Express-Master以及其他任何stream行的例子中,没有任何东西看起来被打破,但它不起作用。 有没有人有这样的想法? 我会尽量在不删除可能有问题的代码的情况下省略细节: /app.js // All environments app.set('views', __dirname + '/views'); app.set('port', process.env.PORT || 3000); app.engine('.html', require('ejs').renderFile); app.set('view engine', 'html'); app.set("view options", { layout: false }); app.use(express.favicon()); app.use(express.logger('dev')); app.use(express.bodyParser()); app.use(express.methodOverride()); app.use(express.cookieParser()); app.use(express.session( { secret: 'spunkydelicious', cookie : { maxAge: (3600000*24*7) // 1 week } } )); app.use(passport.initialize()); app.use(passport.session()); app.use(require('express-jquery')('/jquery.js')); app.use(express.static(path.join(__dirname, '/public'))); app.use(app.router); … app.get('/', […]