2016-04-27 1 views
0

Brauchen Sie Ihre Hilfe. Ich benutze Postbote und versuche, Informationen im JSON-Format zu erhalten. Aber anstelle der richtigen Format der Nachricht habe ich dieses Ergebnis -> "[]"Daten in JSON produzieren

Ich habe keinen Fehler und ich kann in der Konsole die angeforderten Informationen drucken, kann aber nicht im Browser. Ich hoffe, jemand kann mir einen Hinweis ..

@GET 
@Path("/{messager_id}") 
@Produces(MediaType.APPLICATION_JSON) 
public String GetMessageById(@PathParam("messager_id") long id){ 

    String message = new MessageService().getMessageById(id); 

    return message; 
} 
+0

Ihre Nachricht enthält Daten? –

+0

Ja. Nur das Symbol -> "[]"! –

+0

Statt: Name, Nachname, MessageDate .. –

Antwort

0

Ich würde zuallererst empfehlen, einige Webservice-Client als DHC REST Client (ein Addon für Chrome-Browser) zu verwenden. Verwenden Sie es und überprüfen Sie das tatsächliche Verhalten Ihres Webservice. Wenn der Client ein Json-Objekt abruft und löscht, stellt der Server sicher leere Daten her. Protokollieren Sie die Zeichenfolge message, um sicherzustellen, dass Daten zurückgegeben werden. Wenn es korrekt ist, überprüfen Sie die Rückgabemethode. Ein Beispiel für die Rückgabe eines Webservice kann sein:

return Response.ok(message, MediaType.APPLICATION_JSON).build(); 
+0

Ja, ich habe die hasEntity = false .. –

+0

Kann nicht verstehen, warum der Server leere Daten erzeugt .. Hier meine Post-Methode .. –

+0

Wenn Ihre MessageService() die Nachricht nicht bereits als JSON zurückgibt (wie ich annehme) Sie erwarten, dass durch Magie als JSON-Struktur konvertiert wird. Ihre Antwort 'hasEntity = false' hat keinen Sinn für mich, weder die Bearbeitung, die Sie auf meinem Post versucht haben. – JorgeHortelano

0

Überprüfen Sie, ob der Inhaltstyp-Header gesetzt ist: Content-type = application/json. Bitte geben Sie zusätzliche Informationen an.

+0

Ich habe Content-type = application/json. –

+0

Welche Informationen benötigen Sie? –

+0

Die Art, wie die Daten in der Konsole gedruckt werden. Wenn Sie Jersey Rest verwenden, geben Sie die Antwort als ** Response.ok (message) .build() ** zurück und ändern Sie den Rückgabetyp in ** javax.ws.rs.core.Response ** anstelle von ** String * *. –

0

Eine Sache zu überprüfen ist sicherzustellen, dass die MessageService.getMessageById (ID) Daten zurückgibt.

+0

Ich habe es mit system.out zu Konsole und habe die Nachricht richtig! –

+0

Aber nicht im JSON-Format im Browser .. Was kann es sein? –