Maison > Java > javaDidacticiel > le corps du texte

La différence entre requestbody et requestparam

(*-*)浩
Libérer: 2020-01-09 10:22:12
original
9490 Les gens l'ont consulté

La différence entre requestbody et requestparam

@RequestParam                                                                                                                                            (apprentissage recommandé : cours java)

est utilisé pour gérer le type de contenu : application/x -www-form-urlencoded contenu codé. (Dans le protocole Http, si Content-Type n'est pas précisé, les paramètres passés par défaut sont de type application/x-www-form-urlencoded)

@RequestBody

Traitez les données transmises par HttpEntity, généralement utilisé pour traiter les données au format d'encodage non-Content-Type: application/x-www-form-urlencoded.

•Dans la requête GET, comme il n'y a pas de HttpEntity, @RequestBody ne s'applique pas.

•Dans les requêtes POST, les paramètres transmis via HttpEntity doivent déclarer le type de données Content-Type dans l'en-tête de la requête. SpringMVC analyse les données dans HttpEntity en utilisant les HttpMessageConverters configurés par

HandlerAdapter , et puis liez-vous au bean correspondant.

Résumé

• Dans les requêtes GET, @RequestBody ne peut pas être utilisé.

•Dans les requêtes POST, vous pouvez utiliser @RequestBody et @RequestParam, mais si vous utilisez @RequestBody, la configuration de conversion des paramètres doit être unifiée.

Par exemple, dans la pile de traitement HttpMessageConverters configurée dans SpringMVC, spécifiez le format de conversion json. Par exemple, si la date est convertie en « aaaa-MM-jj », alors les champs contenus. dans le paramètre objet récepteur S'il s'agit d'un type Date, le client ne peut transmettre que le format année, mois et jour, mais pas les heures, minutes et secondes.

En raison des différentes interfaces, leurs paramètres peuvent avoir des exigences de format différentes pour les paramètres de temps, cela rendra donc le client qui appelle ses collègues un peu confus quant au format des paramètres, donc l'évolutivité n'est pas élevée.

Si vous utilisez @RequestParam pour accepter des paramètres, vous pouvez définir @DateFormat dans le modèle qui accepte les paramètres pour spécifier le format des paramètres d'heure que vous devez accepter.

De plus, les paramètres acceptés à l'aide de @RequestBody ne seront pas convertis par Servlet et placés dans le jeu de paramètres Param de l'objet de requête @RequestParam est acceptable.

Pour plus d'articles techniques liés à Java, veuillez visiter la colonne Tutoriel Java pour apprendre !

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!