[Java] Communication JSON avec jackson

Communiquer json avec java (en utilisant jackson)

environnement

Comme d'habitude, c'est un mémorandum ...

commande

  1. Génération Dto
  2. Convertissez en Dto-> json en utilisant jackson
  3. Communiquez en utilisant HttpURLConnection
  4. Obtenez des résultats

Génération Dto

public class SampleDto implements Serializable {
    private static final long serialVersionUID = 1L;  //Il vaut mieux le générer correctement

    private int id;
    private String mail;

	public int getId() {
		return id;
	}
	public void setId(int id) {
		this.id = id;
	}
	public String getMail() {
		return mail;
	}
	public void setMail(String mail) {
		this.mail = mail;
	}
}

Conversion Dto-> JSON

	protected String createJson4Sample(SampleDto dto) {

		ObjectMapper mapper = new ObjectMapper();
		try {
			return mapper.writerWithDefaultPrettyPrinter().writeValueAsString(dto);
		} catch (JsonProcessingException e) {
			StringWriter sw = new StringWriter();
			e.printStackTrace(new PrintWriter(sw));
			log.error(sw.toString());
			return null;
		}
	}

la communication

	protected String requestJson(String method, String json, String urlPath, String charset,
			String bearer) {

		HttpURLConnection con = null;
		if (StringUtils.isEmpty(charset)) {
			charset = StringUtils.lowerCase(StandardCharsets.UTF_8.name());
		}
		String body = "";
		try {
			URL url = new URL(urlPath);
			con = (HttpURLConnection)url.openConnection();
			con.setRequestMethod(method);
			con.setUseCaches(false);
			con.setDoOutput(true);
			con.setRequestProperty("Content-Type", "application/json; charset=" + charset);
			if (StringUtils.isNotEmpty(bearer)) {
				con.setRequestProperty("Authorization", "Bearer "+bearer);
			}

			OutputStreamWriter out = new OutputStreamWriter(new BufferedOutputStream(con.getOutputStream()));
			out.write(json);
			out.close();

			BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream()));
			String line = in.readLine();
			while (line != null) {
				body = body + line;
				line = in.readLine();
			}
		}
		catch (Exception e) {
			StringWriter sw = new StringWriter();
			e.printStackTrace(new PrintWriter(sw));
			log.error(sw.toString());
			return null;
		}
		finally {
			if (con != null) {
				con.disconnect();
			}
		}
		return body;
	}

Obtenir des résultats

	protected boolean checkResponseJson(String response) {

		ObjectMapper mapper = new ObjectMapper();
		try {
			if (StringUtils.isEmpty(response)) { return false; }
			JsonNode root = mapper.readTree(response);

			String success = root.get("success").asText();
			String id = root.get("id").asText();
			log.info("Response:" + id + ":" + success);
			if (!"OK".equalsIgnoreCase(success)) {
				return false;
			}
		} catch (Exception e) {
			StringWriter sw = new StringWriter();
			e.printStackTrace(new PrintWriter(sw));
			log.error(sw.toString());
			return false;
		}
		return true;
	}

Je vous remercie pour votre travail acharné!

Recommended Posts

[Java] Communication JSON avec jackson
JSON avec Java et Jackson Part 2 XSS mesures
J'ai essayé la communication UDP avec Java
Essayez la communication bidirectionnelle avec gRPC Java
Remarques sur la communication HTTP avec Java (OkHttp)
Différé avec JSON
Gérez d'énormes JSON avec Java Lambda
Installez java avec Homebrew
Lire JSON en Java
Changer de siège avec Java
Installez Java avec Ansible
Importer JSON avec SolrJ
Téléchargement confortable avec JAVA
Validation de JSON avec le schéma JSON
Gérez JSON avec minimal-json
Changer java avec direnv
Principes de base du réseau Java (communication)
POST JSON en Java
Téléchargement Java avec Ansible
Créer JSON en Java
Raclons avec Java! !!
Formater JSON avec org.json
Construire Java avec Wercker
Conversion Endian avec JAVA
Convertir JSON et YAML en Java (en utilisant Jackson et SnakeYAML)
Convertir l'énumération Java et JSON vers et depuis Jackson
[Java] Convertir JSON en Java et Java en JSON-Comment utiliser GSON et Jackson-
(Java) BDD facile avec Spectrum?
Utiliser des couches Lambda avec Java
Créer un multi-projet Java avec Gradle
Premiers pas avec Java Collection
Configuration Java avec Spring MVC
Authentification de base avec Java 11 HttpClient
Expérimentons l'expansion en ligne Java
Exécuter un lot avec docker-compose avec Java batch
Réécrire Java try-catch avec facultatif
Installez Java 7 avec Homebrew (cask)
JSON en Java et Jackson Partie 1 Renvoyer JSON à partir du serveur
Java pour jouer avec Function
Comment utiliser les données JSON dans la communication WebSocket (Java, JavaScript)
Essayez la connexion DB avec Java
Activer Java EE avec NetBeans 9
[Java] JavaConfig avec classe interne statique
Essayez gRPC avec Java, Maven
Exploitons Excel avec Java! !!
Gestion des versions Java avec SDKMAN
Cryptage / décryptage RSA avec Java 8
Pagination de PDF avec Java + PDFBox.jar
Trier les chaînes comme une fonction caractéristique avec Java
Orienté objet avec Strike Gundam (java)
[Java] Acquisition de contenu avec HttpCliient
Gestion des versions Java avec jenv
Dépannage avec Java Flight Recorder
[Java] [jackson] Correspond à la virgule de fin (virgule de fin) lors de l'analyse de JSON.
Rationalisez les tests Java avec Spock
Connectez-vous à DB avec Java
Connectez-vous à MySQL 8 avec Java
Erreur lors de la lecture avec java
Utilisation de Mapper avec Java (Spring)
Mémo d'étude Java 2 avec Progate
POST Json en Java ~ HttpURLConnection ~