2016-11-11 1 views
1

Ich verwende Resteasy 3.1.0.CR3 mit Tomcat, wie in diesem Maven POM Schnipsel gezeigt:Return JAX-RS text/plain-Liste als mehrere Zeilen

<dependency> 
     <groupId>org.jboss.resteasy</groupId> 
     <artifactId>resteasy-jaxrs</artifactId> 
     <version>3.1.0.CR3</version> 
    </dependency> 
    <dependency> 
     <groupId>org.jboss.resteasy</groupId> 
     <artifactId>resteasy-servlet-initializer</artifactId> 
     <version>3.1.0.CR3</version> 
    </dependency> 

Ich habe eine Ressource, die text/plain Informationen erzeugt und gibt eine Liste zurück, die beispielsweise new FooBar("foo") und new FooBar("bar") enthält. Wenn ich auf diese Ressource zugreife, gibt RESTEasy zurück:

Das sieht verdächtig nach JSON aus. Ich würde eher die Liste als mehrere Zeilen zurückgegeben werden, wie folgt aus:

foo 
bar 

Gibt es eine einfache Möglichkeit, Resteasy zurückzukehren eine text/plain Liste als mehrere Zeilen eher als pseudo-JSON mit Komma Trennung zu bekommen? Oder muss ich eine MessageBodyWriter schreiben?

Antwort

0

Es sendet korrekte Daten, da Sie eine Return-Liste sind, ruft sie list.toSring auf und gibt die Ausgabe zurück [foo, bar]. Wenn Sie es in mehreren Zeilen möchten, dann müssen Sie solche Zeichenfolge erstellen und zurückgeben.

+0

Oh! Haha --- es ist mir nicht einmal aufgefallen, dass dies die 'toString()' Form der Listenimplementierung war. Ich dachte, es wäre ein Standardanbieter für Listen. Oh, naja - lass es mich wissen, wenn du an einen einfachen Weg denkst. (Ich habe bereits einen 'MessageBodyWriter' geschrieben, aber es könnte einen einfacheren Weg geben.) –