如何使用 spring boot apring-jdbc 发出 http 请求将响应数据存储在数据库中

问题描述 投票:0回答:1

看到我想发出 https get 请求和获得的响应我需要验证它并将它存储在数据库中给出解决方案

一个 https 请求的解决方案,并使用 spring-Jdbc 将响应存储在数据库 spring boot 中,并将其他类对象的多个对象作为字段

java mysql spring-boot spring-jdbc
1个回答
0
投票

要在 Spring Boot 中发出 HTTPS GET 请求,您可以使用 RestTemplate 类。这是一个例子:

RestTemplate restTemplate = new RestTemplate();
String url = "https://example.com/api";
String response = restTemplate.getForObject(url, String.class);

要使用 Spring JDBC 将响应存储在数据库中,您可以创建一个使用 JdbcTemplate 执行 SQL 查询的 DAO(数据访问对象)类。这是一个例子:

@Repository
public class ResponseDao {
    private final JdbcTemplate jdbcTemplate;

    public ResponseDao(JdbcTemplate jdbcTemplate) {
        this.jdbcTemplate = jdbcTemplate;
    }

    public void saveResponse(String response) {
        String sql = "INSERT INTO responses (response) VALUES (?)";
        jdbcTemplate.update(sql, response);
    }
}

要在主类中将其他类的多个对象作为一个字段,只需将它们声明为实例变量并在构造函数中对其进行初始化即可。这是一个例子:

@Service
public class MyService {
    private final ResponseDao responseDao;
    private final OtherClass1 otherClass1;
    private final OtherClass2 otherClass2;

    public MyService(ResponseDao responseDao, OtherClass1 otherClass1, OtherClass2 otherClass2) {
        this.responseDao = responseDao;
        this.otherClass1 = otherClass1;
        this.otherClass2 = otherClass2;
    }

    public void makeRequestAndSaveResponse() {
        RestTemplate restTemplate = new RestTemplate();
        String url = "https://example.com/api";
        String response = restTemplate.getForObject(url, String.class);
        responseDao.saveResponse(response);
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.