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