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
Pour la configuration du STS, j'ai fait référence à Mon mémorandum.
Créez un projet avec Créer un nouveau projet Spring Starter, Les bibliothèques référencées sont les suivantes.
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 |
Je vais essayer. C'est fait.
c'est tout. Jusqu'à la fin Merci d'avoir lu.
Recommended Posts