Maison > Java > javaDidacticiel > Comment effectuer des requêtes HTTP POST avec des charges utiles JSON en Java ?

Comment effectuer des requêtes HTTP POST avec des charges utiles JSON en Java ?

Barbara Streisand
Libérer: 2024-12-09 19:25:11
original
195 Les gens l'ont consulté

How to Make HTTP POST Requests with JSON Payloads in Java?

HTTP POST avec JSON en Java : un guide complet

Introduction

Créer un HTTP La requête POST avec la charge utile JSON en Java peut être un outil précieux pour diverses applications. Cet article vise à fournir une solution complète à cette tâche, en abordant les défis courants et en fournissant un exemple de code détaillé.

Énoncé du problème

Vous souhaitez envoyer une requête HTTP POST vers une URL (par exemple, "www.site.com"), qui attend une charge utile JSON étiquetée comme "détails" (par exemple, {"name": "myname", "age": "20"}). Cependant, vous ne parvenez pas à trouver une méthode POST dans les Javadocs JSON.

Solution

Pour effectuer une requête HTTP POST avec JSON en Java, suivez ces étapes :

  1. Intégrer la bibliothèque Apache HttpClient :
    Pour faire Requêtes HTTP, vous avez besoin de la bibliothèque Apache HttpClient. Vous pouvez l'obtenir à partir du référentiel central Maven.
  2. Créez une requête HttpPost :
    Instancier un objet HttpPost avec l'URL souhaitée.
  3. Définissez le En-tête Content-Type :
    Définissez l'en-tête "Content-Type" pour indiquer que vous êtes envoi de données JSON.
  4. Créez une StringEntity :
    Construisez un objet StringEntity et transmettez-lui la charge utile JSON sous forme de chaîne.
  5. Exécutez la requête :
    Utilisez HttpClient pour exécuter la requête HTTP POST avec le HttpPost préparé et Objets StringEntity.

Exemple de code

L'extrait de code suivant fournit un exemple de requête HTTP POST avec une charge utile JSON :

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

import org.apache.http.client.HttpClient;

import org.apache.http.client.methods.HttpPost;

import org.apache.http.entity.StringEntity;

import org.apache.http.impl.client.HttpClientBuilder;

 

public class HttpPostWithJson {

 

    public static void main(String[] args) {

        // HttpClient httpClient = new DefaultHttpClient(); // Deprecated

        HttpClient httpClient = HttpClientBuilder.create().build();

        try {

            HttpPost request = new HttpPost("http://yoururl");

            String jsonPayload = "{\"name\":\"xyz\",\"age\":\"20\"}";

            StringEntity params = new StringEntity(jsonPayload);

            request.addHeader("content-type", "application/json");

            request.setEntity(params);

            HttpResponse response = httpClient.execute(request);

        } catch (Exception ex) {

            // Handle exception

        } finally {

            // HttpClient httpClient.getConnectionManager().shutdown(); // Deprecated

        }

    }

}

Copier après la connexion

Remarque : Les méthodes obsolètes dans le code ont été remplacées par leurs méthodes modernes alternatives.

En suivant ces étapes et en examinant l'exemple de code fourni, vous pouvez effectuer efficacement des requêtes HTTP POST avec des charges utiles JSON en Java, permettant un échange de données transparent avec des API basées sur JSON.

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!

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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal