[JAVA] Ein Memorandum beim Erstellen eines REST-Service mit Spring Boot

Überblick

Ich werde ein Memorandum aufbewahren, wenn ich REST-Services auf Spring Web mit STS verwende. Hauptsächlich für mich. Spring Web basiert auf dem Spring Framework Webanwendungs-Framework.

Die Entwicklungsumgebung ist wie folgt. OS : Windows 7 Home Edition 64bit Java : JavaSE 8 update 181 Spring Boot : 2.3.4 STS : 4.6.1

STS-Setup

Für das STS-Setup habe ich auf [Mein Memorandum] verwiesen (https://qiita.com/harayoshi/items/fca60e68087640b26292).

Ein Projekt erstellen

Erstellen Sie ein Projekt mit Create new Spring Starter Project, Die Bibliotheken, auf die verwiesen wird, lauten wie folgt.

Eine Anwendung erstellen

Die erstellte Klasse, die Einstellungsdatei und die vorbereiteten Daten lauten wie folgt.

Spring Boot Execution-Klasse beim Start der Anwendung.

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);
	}

}

Diese Klasse ist die REST-API.

@RestController, um es zu einer REST-API zu machen, CORS @CrossOrigin, um Zugriff zu gewähren Jeder wurde gegeben.

Der Wert, der abgerufen werden kann, liegt im JSON-Format vor. Die Details des Wertes werden später erklärt.

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();
	}
}

Datenzugriffsobjekt. Sowohl die Schnittstelle als auch ihre Implementierungsklasse sind zum Zeitpunkt der Implementierung erforderlich.

UserDao.java


package jp.co.illmatics.dao;

import java.util.List;

import jp.co.illmatics.model.User;

public interface UserDao {

	public List<User> getUserInfoList();
}

UserDao-Implementierungsklasse. Definiert eine Methode zum Abrufen einer Benutzerliste. Holen Sie sich alle Datensätze in aufsteigender Reihenfolge der ID-Spalte.

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;
	}
}

Die Modellklasse für die Tabelle 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;

}

DB-Verbindungsinformationen, in denen Testdaten gespeichert werden.

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

Dies ist die erstellte Tabelle.

Tabelle erstellt


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

Dies sind die in der Tabelle USER_INFO vorbereiteten Daten.

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

Funktionsprüfung

Ich werde es versuchen. Es ist fertig. 実行結果.PNG

das ist alles. Bis zum Ende Danke fürs Lesen.

Recommended Posts

Ein Memorandum beim Erstellen eines REST-Service mit Spring Boot
Ein Memorandum beim Versuch von Spring Data JPA mit STS
Implementieren Sie eine einfache Rest-API mit Spring Security mit Spring Boot 2.0
Memorandum beim Spring Boot 1.5.10 → Spring Boot 2.0.0
Implementieren Sie eine einfache Rest-API mit Spring Security & JWT mit Spring Boot 2.0
Implementieren Sie einen einfachen Web-REST-API-Server mit Spring Boot + MySQL
Spring Boot Denken Sie daran
Erstellen Sie eine Website mit Spring Boot + Gradle (jdk1.8.x)
Erstellen Sie mit Spring Boot eine einfache Such-App
Erstellen Sie einen Web-API-Server mit Spring Boot
Erstellen eines gemeinsamen Repositorys mit Spring Data JPA
Erstellen Sie mit Docker eine Spring Boot-Entwicklungsumgebung
Mit Spring Boot herunterladen
Vom Erstellen eines Spring Boot-Projekts bis zum Ausführen einer Anwendung mit VS Code
[Hinweis] Festlegen der Datei bei Verwendung von Logback mit Spring Boot
Hallo Welt (REST API) mit Apache Camel + Spring Boot 2
Ein Memorandum über die Sucht nach Spring Boot2 x Doma2
[Spring Boot] Benutzerinformationen mit Rest API abrufen (Anfänger)
[JUnit 5-kompatibel] Schreiben Sie einen Test mit JUnit 5 mit Spring Boot 2.2, 2.3
Passen Sie die Antwort auf REST-API-Fehler mit Spring Boot an (Teil 2).
[JUnit 5] Schreiben Sie einen Validierungstest mit Spring Boot! [Parametrisierungstest]
Erstellen Sie mit Spring Security 2.1 eine einfache Demo-Site mit Spring Security
Passen Sie die Antwort auf REST-API-Fehler mit Spring Boot an (Teil 1).
Ich habe jetzt einen Test mit Spring Boot + JUnit 5 geschrieben
Beachten Sie, dass ich süchtig nach Stapelverarbeitung mit Spring Boot war
Beim Hochladen einer Datei mit Spring Boot wird eine Fehlerbehandlung durchgeführt, wenn die maximale Dateigröße überschritten wird.
Generieren Sie mit Spring Boot einen Barcode
Hallo Welt mit Spring Boot
Implementieren Sie GraphQL mit Spring Boot
Beginnen Sie mit Spring Boot
Hallo Welt mit Spring Boot!
Führen Sie LIFF mit Spring Boot aus
SNS-Login mit Spring Boot
Datei-Upload mit Spring Boot
Spring Boot beginnt mit dem Kopieren
Feder mit Kotorin ―― 7. Serviceschicht
Spring Boot beginnend mit Docker
Hallo Welt mit Spring Boot
Setzen Sie Cookies mit Spring Boot
Verwenden Sie Spring JDBC mit Spring Boot
Modul mit Spring Boot hinzufügen
Erste Schritte mit Spring Boot
Erstellen Sie mit Spring Boot einen Mikrodienst
Mail mit Spring Boot verschicken
Implementieren Sie die REST-API mit Spring Boot und JPA (Application Layer).
Implementieren Sie die REST-API mit Spring Boot und JPA (Infrastructure Layer).
Eine Geschichte voller Grundlagen von Spring Boot (gelöst)
Erstellen wir eine einfache API mit EC2 + RDS + Spring Boot ①
Implementieren Sie die REST-API mit Spring Boot und JPA (Domain Layer Edition).
Ich habe das Spring Boot-Einführungshandbuch [Erstellen eines RESTful-Webdiensts] ausprobiert.
Verwenden Sie die Standardauthentifizierung mit Spring Boot
Feder mit Kotorin --4 REST API Design
Erstellen wir eine Buchverwaltungs-Webanwendung mit Spring Boot part1
[Rails] Vermeiden Sie das SELECT, das beim Erstellen eines Modells mit Gehört_zu Definiert ausgegeben wird!
gRPC auf Spring Boot mit grpc-spring-boot-Starter
Beim Testen der Formularauthentifizierung mit Spring Security tritt ein 404-Fehler auf
Legen Sie das Spring-Profil fest, wenn Sie die bootRun-Task mit dem Spring Boot Gradle Plugin ausführen
Erstellen Sie eine App mit Spring Boot 2
Hot Deploy mit Spring Boot-Entwicklung
Datenbankverknüpfung mit doma2 (Spring Boot)