2 Stimmen

Fehlermeldung in XML/Json in Play Framework

Ich versuche, eine REST-API für Play zu entwickeln. Ich habe zwei Fragen:

  • Warum ist es mit badRequest nicht möglich, eine Nachricht hinzuzufügen?
  • Obwohl ich render.format = "json" eingestellt habe, wird die Fehlermeldung im Klartext geschrieben. Ist es möglich, sie in das Format von render.format zu verpacken?

2voto

javierhe Punkte 553

Vielleicht können Sie die Methode

void error(int status, String reason) 

um eine Nachricht mit http-Statuscode und eine Textnachricht an den Client zurückzusenden.

1voto

sun Punkte 11

Ich bin nicht sicher, ob Sie BadRequest selbst auslösen (Java) oder zurückgeben (Scala) oder ob die von Ihnen verwendete Software dies implizit tut. Wenn Sie es sind und alle Ihre Verbraucher sprechen JSON wahrscheinlich können Sie etwas wie zurückgeben:

{
     "error": "Error Text",
     "data": {
         "some": "data",
         "if": "everything",
         "works": "fine"
     }
}

0voto

Pere Villega Punkte 16419

Zum ersten Punkt, BadRequest ist eine Klasse, die den Statuscode gemäß HTTP-Protokoll auf 400 setzt. Es ist keine zusätzliche Meldung erforderlich (und kann auch nicht in Play hinzugefügt werden), die Browser/Clients sollten das übernehmen.

Was den zweiten Punkt betrifft, so wäre es hilfreich, den Code zu sehen, aber bitte überprüfen Sie das:

  1. Sie rufen renderJson() zum Rendern auf
  2. Sie haben eine Vorlage mit dem Namen method_called.json (wie index.json für Application.index)
  3. Sie setzen den Inhaltstyp der Antwort nicht auf etwas anderes als application/json vor dem Aufruf renderJSON

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X