首頁 >Java >java教程 >如何修復多部分/表單資料 REST API 上傳中的「找不到注入來源」錯誤?

如何修復多部分/表單資料 REST API 上傳中的「找不到注入來源」錯誤?

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-12-09 06:04:09564瀏覽

How to Fix

調試 RESTful API 服務中的 MULTIPART_FORM_DATA 注入錯誤

使用 MULTIPART_FORM_DATA 內容類型透過 RESTful API 上傳檔案時遇到的錯誤常見是:

「找不到公共類型參數的注入來源javax.ws.rs.core.Response..."

確定原因

此錯誤通常是由於處理多部分錶單的JAR 依賴項缺失或不正確而導致的。

解決方案

要解決此問題,您需要將過時的 jersey-multipart-1.18.jar依賴項替換為以下內容兩個:

  • jersey-media-multipart-2.17
  • mimepull-1.9.3

在Maven 依賴項中,使用:

<dependency>
    <groupId>org.glassfish.jersey.media</groupId>
    <artifactId>jersey-media-multipart</artifactId>
    <version>2.17</version>
</dependency>

註冊MultiPartFeature

  • 如果使用ResourceConfig 進行配置,請註冊MultiPartFeature:
register(MultiPartFeature.class);
  • 如果使用web.xml,請向Jersey. init-param servlet:
<init-param>
    <param-name>jersey.config.server.provider.classnames</param-name>
    <param-value>org.glassfish.jersey.media.multipart.MultiPartFeature</param-value>
</init-param>

附加註意

  • 確保依賴項中的 Jersey 版本與您目前的版本相符。
  • FormDataParam 和 FormDataContentDisposition 的導入語句可能需要更新到新位置(例如 org. glassfish.jersey.media.multipart)。
  • 如果需要,請參閱「旁白」部分中提供的參考資料排查 ModelValidationException 的其他原因。

以上是如何修復多部分/表單資料 REST API 上傳中的「找不到注入來源」錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn