Comment puis-je retourner une erreur 800, 404, etc. lorsqu’un utilisateur effectue une requête JSON / XML sur mon API?
J’ai essayé
error 404, {:error => "ERror".to_json }
sans succès.
Aussi, j’ai essayé de mettre un “respond_to” mais cela ne fonctionne pas aussi bien (il duplique le respond_to et donne une erreur).
Merci
De la même manière que vous retournez de telles erreurs avec HTML, cela fait partie de l’en-tête HTTP.
render json: @myobject, status: :unprocessable_entity
Mise à jour, réponse au commentaire:
Vous pouvez obtenir tous les codes d’état de Rack. Rails passe le statut symbolisé à Rack
Rack::Utils.status_code(options[:status])
qui correspond simplement au symbole de la liste des statuts (les chaînes sont converties en symboles) Voici la liste des nouveautés : https://github.com/rack/rack/blob/master/lib/rack/utils.rb#L575 -L638
Faites défiler un peu plus bas et vous verrez la méthode status_code
. C’est amusant de lire le code source!