Heim >Java >javaLernprogramm >Wie behebt man den Fehler „Keine Injektionsquelle gefunden' bei Multipart-/Formulardaten-REST-API-Uploads?

Wie behebt man den Fehler „Keine Injektionsquelle gefunden' bei Multipart-/Formulardaten-REST-API-Uploads?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-12-09 06:04:09564Durchsuche

How to Fix

Debuggen eines MULTIPART_FORM_DATA-Injection-Fehlers in einem RESTful-API-Dienst

Ein häufiger Fehler, der beim Hochladen von Dateien über eine RESTful-API unter Verwendung des Inhaltstyps MULTIPART_FORM_DATA auftritt, ist:

"Keine Injektionsquelle für einen Parameter vom Typ public gefunden javax.ws.rs.core.Response..."

Identifizierung der Ursache

Dieser Fehler tritt normalerweise aufgrund fehlender oder falscher JAR-Abhängigkeiten für die Verarbeitung mehrteiliger Formulare auf.

Lösung

Um dieses Problem zu beheben, müssen Sie die veraltete Abhängigkeit „jersey-multipart-1.18.jar“ durch die folgende ersetzen zwei:

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

Verwenden Sie in Ihrer Maven-Abhängigkeit:

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

Registrieren des MultiPartFeature

  • Bei Verwendung von a Registrieren Sie für die Konfiguration ResourceConfig das MultiPartFeature:
register(MultiPartFeature.class);
  • Wenn Sie web.xml verwenden, fügen Sie einen Init-Param zum Jersey-Servlet hinzu:
<init-param>
    <param-name>jersey.config.server.provider.classnames</param-name>
    <param-value>org.glassfish.jersey.media.multipart.MultiPartFeature</param-value>
</init-param>

Zusätzliche Hinweise

  • Stellen Sie sicher, dass die Jersey-Version in der Abhängigkeit mit Ihrer aktuellen übereinstimmt Version.
  • Die Importanweisungen für FormDataParam und FormDataContentDisposition müssen möglicherweise auf ihre neuen Speicherorte aktualisiert werden (z. B. org.glassfish.jersey.media.multipart).
  • Bei Bedarf lesen Sie die Im Abschnitt „Nebenbei“ finden Sie Referenzen zur Fehlerbehebung bei anderen Ursachen von ModelValidationException.

Das obige ist der detaillierte Inhalt vonWie behebt man den Fehler „Keine Injektionsquelle gefunden' bei Multipart-/Formulardaten-REST-API-Uploads?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn