1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

備忘録(Spring Web)

Last updated at Posted at 2018-02-07

Qiita初めての投稿。(お試し投稿を兼ねる)

##POJOオブジェクト型変数をXML形式で返却するには
元々POJOオブジェクト型変数をjson/xml形式でResponseへ自動変換するには、

xml.java
@XmlRootElement(name = "test")
@XmlType

上記の様なアノテーションをつけるだけで、あとはコントローラ側のメソッドが自動で返してくれるものだと思っていたが、そうなるのはJSON形式の場合のみの様で、XML形式にしたい場合は、

build.gradle
compile('com.fasterxml.jackson.dataformat:jackson-dataformat-xml:2.9.1')

と、設定を追記してあげる必要があるみたい。

POJOの使い方が微妙っぽかったので修正しました。

(2018/02/16追記)
XMLを入れ子にしたり、XMLタグの表示方法などを細かく設定している場合は、
こちらのサイト様のJAXBに関する記述も書く必要があるみたい。
各コントローラの戻り値には(任意のHttpStatusも入れたかったので) ResponceEntity<XML化したいBean> の様に書いていたのが、
戻り値をResponceEntity<String> にして、

StringWriter sw = new StringWriter();
JAXB.marshal(BeanToXMLClass,sw);
return ResponceEntity<>(sw.toString(), HttpStatus.OK);

の様にしてあげることで、
無事に変換後のXML文字列とステータスコード:200が渡された。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?