2017-09-26 11 views
0

私はJAX-RSからSpringへの移民です。私の次のコードで Springでapplication/xmlの要素のリストにどのように応答できますか?

@RequestMapping(method = RequestMethod.GET, 
       produces = {MediaType.APPLICATION_JSON_VALUE, 
          MediaType.APPLICATION_XML_VALUE}) 
public @ResponseBody ResponseEntity<List<Item>> read() { 
    final List<Item> body 
      = range(0, current().nextInt(1, 10)) 
      .mapToObj(i -> Item.newRandomInstance()) 
      .collect(toList()); 
    return ResponseEntity.ok(body); 
} 

は私がapplication/xmlためapplication/jsonしかし406ため200を取得します。

この問題を解決する最善の方法は何ですか?

自動複数包装の機能はありますか?ここで

は私の依存関係は、私は他人のために自分の答えを入れている

dependencies { 
    compile("org.springframework.boot:spring-boot-starter-web") { 
     // exclude module: "spring-boot-starter-tomcat" 
    } 
    providedRuntime('org.springframework.boot:spring-boot-starter-tomcat') 
    // compile("org.springframework.boot:spring-boot-starter-jetty") 
    compile("org.springframework.boot:spring-boot-starter-actuator") 
    testCompile('org.springframework.boot:spring-boot-starter-test') 
    compile("org.springframework.boot:spring-boot-configuration-processor") 
    testCompile('com.jayway.jsonpath:json-path') // for gs-rest-service 
    // ----------------------------------------------------------------------------------------------- springfox-swagger 
    compile 'io.springfox:springfox-swagger2:2.7.0' 
    compile 'io.springfox:springfox-swagger-ui:2.7.0' 
    //compile('org.springframework.boot:spring-boot-starter-amqp') // rabbitmq 
} 
+0

jsonとxmlメッセージコンバータがありますか? Acceptヘッダー(application/xml、application/json)が異なるリクエストを送信していますか? –

+0

@DmitrySenkovichはい、私はカールを使ってテストしています。 –

+0

私は 'spring-boot-starter-web'も使用しています。私はデフォルトで 'HttpMessageConverter'を設定していないことを確認しました。だから、あなたはxsonの設定を忘れている間、あなたはjsonのコンバーターを持っているようです –

答えて

0

ています。

以下の依存関係を追加しました。

// for application/xml 
// remove if you don't need to deal with XML. 
runtime 'com.fasterxml.jackson.dataformat:jackson-dataformat-xml:2.9.1' 
関連する問題