[JAVA] Un mémorandum lors de la création d'un service REST avec Spring Boot

Aperçu

Je garderai un mémorandum lors de l'utilisation du service REST sur Spring Web en utilisant STS. Principalement pour moi. Spring Web est basé sur Spring Framework Cadre d'application Web.

L'environnement de développement est le suivant. OS : Windows 7 Home Edition 64bit Java : JavaSE 8 update 181 Spring Boot : 2.3.4 STS : 4.6.1

Configuration STS

Pour la configuration du STS, j'ai fait référence à Mon mémorandum.

Créer un projet

Créez un projet avec Créer un nouveau projet Spring Starter, Les bibliothèques référencées sont les suivantes.

Créer une application

La classe créée, le fichier de paramètres et les données préparées sont les suivants.

Classe Spring Boot Execution au démarrage de l'application.

SpringWebSampleApplication.java


package jp.co.illmatics;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class SpringWebSampleApplication {

	public static void main(String[] args) {
		SpringApplication.run(SpringWebSampleApplication.class, args);
	}

}

Cette classe est l'API REST.

@RestController pour en faire une API REST, CORS @CrossOrigin pour accorder l'accès Chacun a été donné.

La valeur pouvant être obtenue est au format JSON. Les détails de la valeur seront expliqués plus tard.

UsersController.java


package jp.co.illmatics.controller;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.CrossOrigin;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;

import jp.co.illmatics.dao.UserDao;
import jp.co.illmatics.model.User;

@CrossOrigin
@RestController
public class UsersController {

	@Autowired
	private UserDao userInfoDao;

	@RequestMapping(method = RequestMethod.GET, value = "/users")
	public List<User> get() {
		return userInfoDao.getUserInfoList();
	}
}

Objet d'accès aux données. L'interface et sa classe d'implémentation sont requises au moment de l'implémentation.

UserDao.java


package jp.co.illmatics.dao;

import java.util.List;

import jp.co.illmatics.model.User;

public interface UserDao {

	public List<User> getUserInfoList();
}

Classe d'implémentation UserDao. Définit une méthode pour obtenir une liste d'utilisateurs. Obtenez tous les enregistrements dans l'ordre croissant de la colonne ID.

UserDaoImpl.java


package jp.co.illmatics.dao;

import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.core.RowMapper;
import org.springframework.stereotype.Repository;

import jp.co.illmatics.model.User;

@Repository
public class UserDaoImpl implements UserDao {

	@Autowired
	private JdbcTemplate jdbcTemplate;

	public List<User> getUserInfoList() {
		List<User> list = jdbcTemplate.query("select * from USER_INFO ORDER BY ID"
			, new Object[] {},
			new RowMapper<User>() {
				public User mapRow(ResultSet rs, int rowNum) throws SQLException {
					User user = new User();
					user.setId(rs.getString("ID"));
					user.setName(rs.getString("NAME"));
					user.setAge(rs.getInt("AGE"));
					return user;
				}
			});
		return list;
	}
}

Classe de modèle de la table USER_INFO.

User.java


package jp.co.illmatics.model;

import javax.persistence.Table;

import org.springframework.stereotype.Component;

import lombok.Data;

@Data
@Component
@Table(name = "USER_INFO")
public class User {

	private String id;

	private String name;
	
	private Integer age;

}

Informations de connexion à la base de données qui stockent les données de test.

application.properties


spring.datasource.driver-class-name=oracle.jdbc.driver.OracleDriver
spring.datasource.url=jdbc:oracle:thin:@localhost:1521:XE
spring.datasource.username=xxxxxx
spring.datasource.password=xxxxxx
spring.jpa.database-platform=org.hibernate.dialect.Oracle10gDialect
spring.jpa.show-sql=true

Ceci est la table créée.

Table créée


create table USER_INFO (
  "ID" varchar2(20), 
  "NAME" varchar2(20), 
  "AGE" number(3,0), 
  constraint "PK_USER" primary key ("ID")
);

Il s'agit des données préparées dans la table USER_INFO.

ID NAME AGE
user001 userName001 35
user002 userName002 30
user003 userName003 25

Contrôle de fonctionnement

Je vais essayer. C'est fait. 実行結果.PNG

c'est tout. Jusqu'à la fin Merci d'avoir lu.

Recommended Posts

Un mémorandum lors de la création d'un service REST avec Spring Boot
Un mémorandum lors de l'essai de Spring Data JPA avec STS
Implémentez une API Rest simple avec Spring Security avec Spring Boot 2.0
Mémorandum lorsque Spring Boot 1.5.10 → Spring Boot 2.0.0
Implémentez une API Rest simple avec Spring Security & JWT avec Spring Boot 2.0
Implémentez un serveur API Web REST simple avec Spring Boot + MySQL
Spring Boot Rappelez-vous
Créez un site Web avec Spring Boot + Gradle (jdk1.8.x)
Créez une application de recherche simple avec Spring Boot
Créer un serveur API Web avec Spring Boot
Création d'un référentiel commun avec Spring Data JPA
Créer un environnement de développement Spring Boot avec docker
Télécharger avec Spring Boot
De la création d'un projet Spring Boot à l'exécution d'une application avec VS Code
[Note] Fichier de configuration lors de l'utilisation de Logback avec Spring Boot
Hello World (API REST) avec Apache Camel + Spring Boot 2
Un mémorandum de dépendance à Spring Boot2 x Doma2
[Spring Boot] Obtenez des informations utilisateur avec l'API Rest (débutant)
[Compatible JUnit 5] Ecrire un test en utilisant JUnit 5 avec Spring boot 2.2, 2.3
Personnalisez la réponse aux erreurs de l'API REST avec Spring Boot (Partie 2)
[JUnit 5] Ecrivez un test de validation avec Spring Boot! [Test de paramétrage]
Créez un site de démonstration simple avec Spring Security avec Spring Boot 2.1
Personnalisez la réponse aux erreurs de l'API REST avec Spring Boot (Partie 1)
J'ai écrit un test avec Spring Boot + JUnit 5 maintenant
Notez que j'étais accro au traitement par lots avec Spring Boot
Lors du téléchargement d'un fichier avec Spring Boot, la gestion des erreurs est effectuée lorsque la taille maximale du fichier est dépassée.
Générer un code à barres avec Spring Boot
Hello World avec Spring Boot
Implémenter GraphQL avec Spring Boot
Démarrez avec Spring Boot
Bonjour tout le monde avec Spring Boot!
Exécutez LIFF avec Spring Boot
Connexion SNS avec Spring Boot
Téléchargement de fichiers avec Spring Boot
Spring Boot commençant par copie
Ressort avec Kotorin ―― 7. Couche de service
Spring Boot à partir de Docker
Hello World avec Spring Boot
Définir des cookies avec Spring Boot
Utiliser Spring JDBC avec Spring Boot
Ajouter un module avec Spring Boot
Premiers pas avec Spring Boot
Créer un micro service avec Spring Boot
Envoyer du courrier avec Spring Boot
Implémenter l'API REST avec Spring Boot et JPA (Application Layer)
Implémenter l'API REST avec Spring Boot et JPA (couche d'infrastructure)
Une histoire remplie des bases de Spring Boot (résolu)
Faisons une API simple avec EC2 + RDS + Spring boot ①
Implémenter l'API REST avec Spring Boot et JPA (Domain Layer Edition)
J'ai essayé le guide d'introduction de Spring Boot [Création d'un service Web RESTful]
Utiliser l'authentification de base avec Spring Boot
Spring avec Kotorin - 4 Conception d'API REST
Créons une application Web de gestion de livres avec Spring Boot part1
[Rails] Evitez le SELECT émis lors de la création d'un modèle avec appartient_to défini!
gRPC sur Spring Boot avec grpc-spring-boot-starter
Une erreur 404 se produit lors du test de l'authentification par formulaire avec Spring Security
Définir le profil Spring lors de l'exécution de la tâche bootRun avec Spring Boot Gradle Plugin
Créez une application avec Spring Boot 2
Déploiement à chaud avec le développement Spring Boot
Liaison de base de données avec doma2 (Spring boot)