ich versuche eine api zu erstellen, mit der meine ios app verbunden ist. Allerdings bekomme ich immer die Eingabeaufforderung error: not found
, wenn ich die Post-Anfrage an und setze die Parameter auf id, name, birth and country
. aber wenn ich gerade url/users/14253/test/10-20-1992/denmark
im Briefträger laufen lasse, funktioniert es gut, also bin ich ein bisschen verwirrt, was ich falsch mache?verbindung zwischen nodejs api und swift app
api Route
router.post('/:id/:name/:birth/:country', function(req, res, next) {
var params = req.params;
var accessHeader = req.headers;
var user = new User({
_id: params.id,
name: params.name,
birthday: new Date(params.birth),
country: params.country
});
user.save(function(err) {
if (err) {
res.send(err);
} else {
res.json({ message: 'User created!' });
}
});
});
swift alamofire Anfrage
func passUserData(id: String, name: String, birth: String, country: String, token: AccessToken) {
let headers = [
"Content-Type": "application/x-www-form-urlencoded"
]
Alamofire.request("http://url/users", method: .post, parameters: ["id" : id, "name" : name, "birth" : birth, "country" : country], encoding: JSONEncoding.default, headers: headers).responseString { closureResponse in
if String(describing: closureResponse.result) == "SUCCESS"
{
print(closureResponse)
} else {
print(closureResponse)
}}
}
Können Sie 'params' in Ihrem node.js Code drucken? – DrakaSAN
Sie übergeben keine Parameter in der URL, sondern im Körper. Die Anfrage, die Sie auf der Clientseite tun, hat die folgende URL: "/ users" mit den Parametern in einem Körper – krakig
Sieht für mich wie der Swift-Code wird eine URL in Form von http: // IP: 3000/Benutzer? ID = bla & name = bla & etc, absolut nicht die URL, die du willst. Die Parameter müssen in die URL selbst eingebettet werden. – Gimby