這是我得到的錯誤:
Parameter value [\] did not match expected type [java.lang.String (n/a)]; nested exception is java.lang.IllegalArgumentException: Parameter value [\] did not match expected type [java.lang.String (n/a)]
我有一個基本站點,可讓您創建包含標題、藝術家和評級的“歌曲”。您可以編輯/洗掉歌曲,應用程式將在主頁上顯示所有歌曲。它具有按歌曲評分以降序排列歌曲的功能,并且具有搜索功能,只有一半有效。
我不明白出了什么問題,因為它在我第一次使用該功能進行搜索時起作用,然后在第二次搜索時它總是拋出這個錯誤。
再深入一點,我認為這些錯誤行是相關的:
at jdk.proxy3/jdk.proxy3.$Proxy112.findByArtistContaining(Unknown Source)
at com.cshannon.lookify.services.SongService.findByArtist(SongService.java:50)
at com.cshannon.lookify.controllers.MainController.search(MainController.java:105)
我不明白為什么它認為我輸入的字串在我第一次沒有錯誤的情況下作業時是未知來源。我嘗試將路線從 Get 更改為 Post,但這并沒有什么不同。
控制器代碼:
@GetMapping("/search")
public String search(
Model model,
@RequestParam(value="search") String search
) {
if (search.isEmpty()) {
return "redirect:/dashboard";
}
ArrayList<Song> songs = ss.findByArtist(search);
model.addAttribute("songs", songs);
return "search.jsp";
}
服務:
// Find by artist
public ArrayList<Song> findByArtist(String search) {
return (ArrayList<Song>) sr.findByArtistContaining(search);
}
存盤庫:
ArrayList<Song> findByArtistContaining(String search);
如果它在這里有幫助,那么我用來從用戶那里獲取字串的表單:
<form action="/search" class="d-flex">
<input type="search" name="search" class="form-control me-2" placeholder="Search" aria-label="Search"/>
<input type="submit" value="Search Artists" class="btn btn-outline-success"/>
</form>
uj5u.com熱心網友回復:
如果你想同時修復安全問題CVE-2022-22968和這個 bug,你可以使用 spring-boot 版本 2.5.13
uj5u.com熱心網友回復:
哇我想通了這個問題。我不知道對此的低級解釋,但由于某種原因,這是 Spring Boot 2.6.6 的錯誤,并且在依賴項中將其更改為 2.6.3 修復了它。
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.6.3</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/462568.html
