2016-11-11 37 views
1

我使用的RESTEasy 3.1.0.CR3使用Tomcat,:返回JAX-RS如本Maven的POM片段所示純文本/列表作爲多行

<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> 

我具有產生text/plain信息的資源,並返回一個列表,其中包含例如new FooBar("foo")new FooBar("bar")。當我訪問此資源時,RESTEasy會返回:

[foo, bar] 

看起來像JSON一樣可疑。我寧願列表中返回多行,像這樣:

foo 
bar 

有一種簡單的方法來獲得的RESTEasy返回一個列表text/plain爲多行,而不是僞JSON用逗號分開?或者我將不得不寫一個MessageBodyWriter

回答

0

它是發送正確的數據,因爲你是返回列表,它調用list.toSring並返回輸出[foo,bar]。 如果你想要多行,那麼你必須創建這樣的字符串並返回它。

+0

哦!哈哈---它甚至沒有讓我覺得這是列表實現的'toString()'形式。我認爲它是列表的默認提供者。哦,好吧 - 讓我知道你是否想過一個簡單的方法。 (我已經寫了一個'MessageBodyWriter',但可能有一個更簡單的方法。) –