Maison >Java >javaDidacticiel >Comment corriger les erreurs « Aucune source d'injection trouvée » dans les téléchargements d'API REST Multipart/Form-data ?

Comment corriger les erreurs « Aucune source d'injection trouvée » dans les téléchargements d'API REST Multipart/Form-data ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-12-09 06:04:09564parcourir

How to Fix

Débogage d'une erreur d'injection MULTIPART_FORM_DATA dans un service API RESTful

Une erreur courante rencontrée lors du téléchargement de fichiers via une API RESTful à l'aide du type de contenu MULTIPART_FORM_DATA est :

"Aucune source d'injection trouvée pour un paramètre de type public javax.ws.rs.core.Response..."

Identification de la cause

Cette erreur se produit généralement en raison de dépendances JAR manquantes ou incorrectes pour la gestion des formulaires en plusieurs parties.

Solution

Pour résoudre ce problème, vous devez remplacer la dépendance obsolète jersey-multipart-1.18.jar par ce qui suit deux :

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

Dans votre dépendance Maven, utilisez :

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

Enregistrement du MultiPartFeature

  • Si vous utilisez un ResourceConfig pour la configuration, enregistrez le MultiPartFeature :
register(MultiPartFeature.class);
  • Si vous utilisez web.xml, ajoutez un init-param au Jersey servlet :
<init-param>
    <param-name>jersey.config.server.provider.classnames</param-name>
    <param-value>org.glassfish.jersey.media.multipart.MultiPartFeature</param-value>
</init-param>

Supplémentaire Notes

  • Assurez-vous que la version Jersey dans la dépendance correspond à votre version actuelle.
  • Les instructions d'importation pour FormDataParam et FormDataContentDisposition devront peut-être être mises à jour vers leurs nouveaux emplacements (par exemple, org. glassfish.jersey.media.multipart).
  • Si nécessaire, reportez-vous aux références fournies dans la section « À part » pour dépannage d'autres causes de ModelValidationException.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn