3 votes

Utiliser Curl avec Json (Node.js)

J'ai des difficultés à obtenir curl y Json ( Node.js ) pour fonctionner lorsque je suis en curl omettre la partie "[ et ]" de l'article. JSON-RPC paramètres de la demande. J'utilise des paramètres nommés (c'est-à-dire un objet, pas un tableau).

Cela fonctionne :

curl -v -i POST -H "Content-Type: application/json" \
-d '{"jsonrpc": "2.0", "method":"registerPerson", "params": ["{\"username\":\"morten10\",\"password\":\"mypass\"}"], "id":1 }' \
http://localhost:3000

Cependant, lorsque j'omets les [" et ]" des paramètres, cela ne fonctionne pas :

curl -v -i POST -H "Content-Type: application/json" \
-d '{"jsonrpc": "2.0", "method":"registerPerson", "params": {\"username\":\"morten10\",\"password\":\"mypass\"}, "id":1 }' \
http://localhost:3000

et Jayson donne ce message d'erreur :

TypeError: First argument must be a string or Buffer

Toutefois, selon la JSON-RPC 2.0 et ses exemples, je devrais pouvoir exclure la partie "[ et ]" des paramètres lorsque j'utilise des paramètres nommés, comme dans cet exemple :

--> {"jsonrpc": "2.0", "method": "subtract", "params": {"minuend": 42, "subtrahend": 23}, "id": 4}
<-- {"jsonrpc": "2.0", "result": 19, "id": 4}

Qu'est-ce que je ne comprends pas ?

Merci de votre attention !

2voto

Brian Points 543

Je pense que votre objet doit être une chaîne, comme le suggère l'erreur.

Essayez :

curl -v -i POST -H "Content-Type: application/json" \
-d '{"jsonrpc": "2.0", "method":"registerPerson", "params": "{\"username\":\"morten10\",\"password\":\"mypass\"}", "id":1 }' \
http://localhost:3000

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X