Tuesday, June 13, 2023

Springboot2 Restdocsで「java.lang.NoSuchMethodException: java.util.List.()」エラーを3分で解決する方法

Restdocsで"java.lang.NoSuchMethodException"エラーを解決する

RestdocsはREST APIのテストに役立つツールですが、使用するのは複雑で時間がかかることがあります。最近、Restdocsを使っているときに"java.lang.NoSuchMethodException: java.util.List.<init>()"というエラーに遭遇しました。このエラーは、パラメータとしてリストを受け取っているコントローラーで発生しました。

解決策を探す

このエラーを解決しようと多くの資料を検索しましたが、明確な解決策を見つけるのは難しかったです。しかし、エラーを詳しく分析することで解決策を見つけることができました。

解決策

解決策は、パラメータとして受け取るコントローラーでリストを配列に変更することです。つまり、以下の変更を行うとエラーが解消されます。

// Before
public String getSomething(List<String> stringList) {

}

// After
public String getSomething(String[] stringArray) {

}

根本的な原因を理解する

このエラーの根本的な原因は、webMvcTestがリストを正しく認識できないことです。Spring Bootの自動設定は非常に便利ですが、このような状況では混乱を招くことがあります。

結論

この記事が、Restdocsを使用している際にエラーに遭遇した方々の助けになれば幸いです。


0 개의 댓글:

Post a Comment