Dropwizard Fehlermeldungen von Jersey

8

Ich bekomme die folgende Protokollausgabe. Ich denke, Drop-Wizard versucht zu Fehler, aber die Jersey JAX-RS-Implementierung, die es verwendet, weiß nicht, wie der Fehler formatiert wird? Wie kann ich es sehen?

%Vor%

FWIW Die Methodensignatur, die ich treffe, lautet:

%Vor%     
rich 01.10.2014, 09:46
quelle

5 Antworten

9

Sie benötigen einen Serialiszer für ErrorMessage. Wenn Sie Eclipse Strg + Umschalt + T verwenden und nach "JsonProcessingExceptionMapper" suchen. Dieser Exception-Mapper möchte eine Antwort mit der Entität ErrorMessage erstellen, aber Sie haben keinen Mapper dafür.

Sie haben zwei Möglichkeiten:

  1. Entfernen Sie diesen Exception Mapper und fügen Sie Ihren benutzerdefinierten Exception Mapper hinzu ohne Entität
  2. Sie erstellen einen Nachrichtentextschreiber.

Option 1: Fügen Sie diese Methode in Ihrem run () hinzu:

%Vor%

Dadurch werden alle Ausnahme-Mapper entfernt, die standardmäßig in DW hinzugefügt wurden. Jetzt können Sie alle Ausnahme-Mapper hinzufügen, die Sie wirklich wollen. In meinem Fall:

%Vor%

Schreiben Sie jetzt Ihren eigenen benutzerdefinierten CustomJsonProcessingExceptionMapper ohne Entity:

%Vor%

Option 2: Sie erstellen einen Serializer / einen Nachrichtentextschreiber für ErrorMessage. Versuchen Sie dazu Folgendes:

%Vor%

Fügen Sie in Ihrem Lauf () hinzu:

%Vor%

Hoffe das hilft: -)

    
user3280180 17.10.2014, 07:30
quelle
4

Sie müssen diese Header nur für Ihre Ressource angeben, damit der Dropwizard erkennt, welcher Builder für Fehlermeldungen für die Antwort verwendet werden soll:

%Vor%     
SameeraGupta 07.11.2014 11:40
quelle
2

Das ist doof, aber ich habe darauf geklickt, dass der Dropwizard von einer Hauptklasse ausgeführt wird, also können Sie einfach einen Breakpoint in ErrorMessage setzen und ihn innerhalb von (z. B.) Eclipse ausführen.

Übrigens war der zugrunde liegende Fehler in diesem Fall:

%Vor%     
rich 01.10.2014 17:32
quelle
2

Der Dropwizard protokolliert den zugrunde liegenden Fehler auf DEBUG-Ebene. Sie können dies in Ihrer Logging-Konfiguration aktivieren, um die Ursache hier zu sehen:

%Vor%     
Rich 25.07.2016 09:23
quelle
1

Ich habe dies in letzter Zeit ein paar Mal getroffen und daher eine (jetzt akzeptierte) Pull-Anfrage gesendet, um den zugrunde liegenden Fehler bei warn statt zu debuggen.

Ссылка

    
rich 17.05.2015 20:43
quelle