2017-06-12 4 views
0

J'essaie de passer une requête de méthode POST pour un URI spécifique en utilisant la gemme Restclient. Cependant, je reçois continuellement 400 Bad request du serveur. J'ai essayé de nombreuses façons d'afficher les données, avec des modifications. PFB l'actuelHTTPS: 400 Mauvaise demande! JSON non valide

require 'minitest' 
require 'rest-client' 
require 'json' 
require 'pry' 
require 'uri/https' 


#class APITest < Minitest::Test 
def setup 
    response = RestClient.post("", {'userType' => 'nonsso', 'firstName' => 'Justin9', 'isDependentMajor' => true, 'email' => '[email protected]', 'dependentName'=> 'Cobb', 'dependentLastName' => 'Cobb', 'lastName' => 'Justin' 
    }, { "Content-Type" => 'application/json'}) 
    puts response 
end 



setup 

Je n'arrive pas à comprendre ce qui me manque ici. J'ai essayé d'utiliser le même code, pour une autre API, avec la méthode get, seulement avec headers et cela fonctionne.

S'il vous plaît quelqu'un peut-il me faire savoir, toute mauvaise syntaxe dans json que j'utilise pour la méthode POST.

Répondre

3
response = RestClient.post("", {'userType' => 'nonsso', 'firstName' => 'Justin9', 'isDependentMajor' => true, 'email' => '[email protected]', 'dependentName'=> 'Cobb', 'dependentLastName' => 'Cobb', 'lastName' => 'Justin' 
    }.to_json, { "Content-Type" => 'application/json'}) 

Notez le to_json.

RestClientRestClientRestClient par défaut numérise la charge utile en application/x-www-form-urlencoded. Vous devez manuellement sérialiser vos données de publication.

+0

J'ai essayé d'ajouter 'to_json' plus tôt, mais cela n'a pas fonctionné. Encore une mauvaise demande et invalide JSON :( –

+0

Avec votre code actuel aussi, je reçois la même chose.J'ai essayé de re-vérifier avec l'outil de poste homme et le même URL avec des paramètres fonctionne il –

+0

Travaux! Je suppose, je quittais les espaces entre J'ai essayé de supprimer ces espaces et maintenant il semble fonctionner. :) –