ヒトリ歩き

愚痴とかいろいろ書きます

Swaggerで生成したSpringソースコードでエラーが出ていたので解決した話

Swagger Editorの Generate Server -> spring からspringのソースコードが生成される。
STSにインポートするとソースでエラーとなっている箇所があったので、エラーとなっている箇所を解決する方法をまとめる。
ただ、エラーと言っても大したエラーではない。

javax.xml.bind でエラーが発生

import the javax.xml.bind cannot be resolvedのエラーが発生している。
原因はすぐに判明。

github.com

Java9から一部の標準ライブラリから非推奨となったモジュールがある。
今回、エラーとなっている箇所も非推奨となったモジュールだった。

ライブラリを追加する

エラーとなっている箇所を解決するにはjaxb-apiを追加すれば解決する。
生成したspringのソースはMavenプロジェクトなのでpom.xmlに以下の内容を追加。

<!-- https://mvnrepository.com/artifact/javax.xml.bind/jaxb-api -->
<dependency>
    <groupId>javax.xml.bind</groupId>
    <artifactId>jaxb-api</artifactId>
    <version>2.4.0-b180830.0359</version>
</dependency>

これでエラーは解消された。

まとめ

Swagger Editorで生成されたソースのspring-boot-starter-parentのバージョンが1.5.9.RELEASEのため、最新に追従できていない。
生成されたソースをベースにREST APIを作成する場合はバージョンの最新化が必要なので注意が必要。