[JAVA] Créez une API pour envoyer et recevoir des données Json avec Spring

Cela fait un moment que je n'ai pas travaillé chez Spring. Créer une API au printemps.

Pour rappel, je vais résumer jusqu'à la création du modèle. Au fait, Spring Boot était ma première fois.

spécification

Reçoit les données publiées par Json et renvoie les données Json de différentes manières.

Environnement de développement

--Sélectionnez Pléiades All in One Eclipse Télécharger depuis https://mergedoc.osdn.jp/#pleiades.html Sélectionnez Eclipse 2020> Windows 64bit> Java Full Edition

――Il semble que 7-Zip soit nécessaire, alors téléchargez-le et installez-le également. https://sevenzip.osdn.jp/

Création de projet

--Ouvrez le nouveau projet Wither avec "Fichier> Nouveau> Projet" Spring Boot> Sélectionnez Spring Starter Project

create.png

Implémentation: définition des données

--Créer des classes (InputData, OutputData) qui définissent les données d'entrée et les données de sortie

InputData


package jp.co.sankosc.sample;

public class InputData {
	public int id;
	public String value;
}

OutputData


package jp.co.sankosc.sample;

import java.util.Date;

public class OutputData {
	public int id;
	public String value;
	public Date date;
}

Mise en œuvre: traitement

--Créer une classe ApiController --Définir l'annotation @RestController dans la classe --Définition de la méthode (cette fois, la méthode appelée post) --Définissez l'URI avec l'annotation @RequestMapping dans la méthode --Définissez les paramètres d'entrée avec l'annotation @RequestBody

ApiController


package jp.co.sankosc.sample;

import java.util.Date;

import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class ApiController {
	
	@RequestMapping(value="/post", method=RequestMethod.POST)
	public OutputData post(@RequestBody InputData input) {
		OutputData output = new OutputData();
		output.id = input.id;
		output.value = input.value;
		output.date = new Date();
		return output;
	}

}

Courir

--Sélectionnez un projet --Exécuter> Exécuter> Application Spring Boot

Vérification

Commande de confirmation


$postData = @{id=123;value="InputData.Value"} | ConvertTo-Json -Compress
Invoke-WebRequest -Method Post -Uri http://localhost:8080/post -Body $postData -ContentType application/json

Résultat d'exécution


StatusCode        : 200
StatusDescription :
Content           : {"id":123,"value":"InputData.Value","date":"2020-09-28T06:45:30.925+00:00"}

Génération de fichiers Jar

--Sélectionnez un projet --Exécuter> Exécuter> Installer Maven --Un fichier jar est créé sous la cible

Exécuter sur le serveur

java -jar [.fichier jar]

--Utilisez ceci comme un script pour enregistrer le service

Recommended Posts

Créez une API pour envoyer et recevoir des données Json avec Spring
Comment appeler et utiliser l'API en Java (Spring Boot)
Pour écrire des données de réponse directement dans Spring
Jackson ne peut pas sérialiser JSON hibernateLazyInitializer dans Spring Data JPA entraîne une erreur
Créer JSON en Java
Comment créer un projet Spring Boot dans IntelliJ
Comment créer un URI de données (base64) en Java
Présentez swagger-ui à l'API REST implémentée dans Spring Boot
Créer une authentification par clé API pour l'API Web dans Spring Security
Jusqu'à ce que vous créiez un projet Spring Boot dans Intellij et que vous le transmettiez à Github
Comment utiliser les données JSON dans la communication WebSocket (Java, JavaScript)
[jackson] Je souhaite recevoir les valeurs JSON "0" et "1" sous forme de booléen
Je souhaite échanger des données JSON (objets) avec Ajax entre Java et JavaScript! ~ Édition de printemps ~
Découvrons comment recevoir avec Request Body avec l'API REST de Spring Boot
Paramètres de proxy et de délai d'expiration lors de l'appel de l'API avec le modèle Spring Rest
Comment POST JSON dans la méthode Java en utilisant OkHttp3 et la méthode en utilisant HttpUrlConnection-
Comment définir et utiliser un profil avec une configuration basée sur des annotations dans le framework Spring
Comment supprimer de grandes quantités de données dans Rails et problèmes
Comment obtenir et ajouter des données depuis Firebase Firestore dans Ruby
[Android] Convertissez Map en JSON à l'aide de GSON avec Kotlin et Java
Comment utiliser Lombok au printemps
Étude Swift Network.framework 2019 1208 «Envoyer et recevoir»
Remarques sur l'utilisation de Spring Data JDBC
[Comment installer Spring Data Jpa]
Implémenter l'API REST avec Spring Boot
Etude Swift Network.framework 20200319 "Recevoir et envoyer"
[Rails] Je souhaite envoyer des données de différents modèles dans un formulaire
Créez un projet Spring Boot avec intellij et quittez immédiatement après le lancement
Exemple de code pour la sérialisation et la désérialisation des énumérations Java Enum et JSON dans Jackson
Recevez la réponse de l'API au format xml et obtenez le DOM de la balise spécifiée
Comment modifier le nombre maximum et maximum de données POST dans Spark
Exécutable serveur avec Spring gradle Comment créer JAR et WAR
Avoir un outil pour créer et ouvrir une nouvelle toile dans l'aperçu Mac
Comment créer votre propre annotation en Java et obtenir la valeur
Faisons une application TODO avec Java 2 Je veux créer un modèle avec Spring Initializr et créer Hello world
Définissez le résultat de l'authentification Spring Security sur JSON
Créer des données binaires de longueur variable en Java
Spring avec Kotorin --2 RestController et Data Class
Convertir les paramètres de demande en Enum au printemps
Comment inclure Spring Tool dans Eclipse 4.6.3?
Existe en utilisant la spécification dans Spring Data JPA
Essayez d'utiliser l'API au format JSON en Java
Créer un projet Java Spring Boot avec IntelliJ
Cache de support nul dans Spring Data Redis
Synthétiser les annotations Spring pour créer des stéréotypes spécifiques au projet
Comment écraser les données Firebase avec Swift
De Java à C et de C à Java dans Android Studio
Ajoutez une botte de printemps et un dégradé à éclipse
Comment assembler JSON directement dans Jackson
Acquisition de données JSON et rotation des valeurs
Conversion de JSON en TSV et TSV en JSON avec Ruby
Bean de sortie au format JSON au printemps
Créez une API de tableau d'affichage avec certification et autorisation dans Rails 6 # 6 show, créez une implémentation
[JPA] Comparez table1 et table2 pour obtenir et mettre à jour des données qui n'existent pas dans la table2.
Envoyez et traitez les données de formulaire au servlet avec l'objet FormData et le téléchargement de fichier Commons
Développement Android-Accès WEB (POST) Essayez de communiquer avec l'extérieur et d'envoyer des données. ~
Un mémo pour créer un formulaire simple en utilisant uniquement HTML et CSS dans Rails 6