当Params作为URL的一部分附加时,我的REST后端[基于NodeJS/express/mongojs]抱怨404(未找到)。后台休息界面编码如下;
var express = require('express');
var router = express.Router();
router.get('/login', auth.signin); //auth.signin is code to verify user
上面的REST服务被基于AngularJS的前端通过$ resource占用如下;
定义:
angular.module('myapp').factory('signinmgr', function($resource) {
return $resource("http://localhost:3000/login", {}, {
'get': {
method: 'GET',
headers: {
'Content-Type': 'application/json'
}
}});
用法:
signinmgr.get({'username':'myname', 'password':'mypass'}, function(data){
//success
}, function(x){
//failed
});
问题:上述
前端代码产生一个URL消耗REST服务,其中的参数是URL即部分http://localhost:port/login?username=myname&password=mypass [如果我使用GET方法,POST是好]。我希望我的前端将URL保存为http://localhost:port/login,并通过body发布任何参数,因为后端正在使用req.body.paramName来读取这些参数。 [实际解决方案]
如果(1)无法完成,并且我的前端将PARAMS作为URL的一部分发送,我需要帮助以了解如何装备我的后端以允许此URL带有参数,以便后端不返回404作为基本URL http://localhost:port/login已经在那里。
PS:对于(1),我试图this thread与数据:{用户名: '',密码: ''},但没有用的。如果我错过了一些非常明显的或某些概念,请帮助。
我选择了'$ resource'而不是'$ http',这是因为某些原因在几个月前就已经有意义了,而且它正在运行perfectl。那时我的后端基于_restify_。在当前的实现中,我将后端更改为_express_,并开始用'GET'抱怨。任何关于当前实现可能出错的想法? – hammad