Springboot实现获取实时天气

 更新时间:2024年04月20日 16:48:35   作者:sternschnapper  
这篇文章主要为大家详细介绍了如何使用Springboot实现获取实时天气功能,文中的示例代码讲解详细,有需要的小伙伴可以跟随小编一起学习一下

获取天气方式很多,整理一下个人感觉最方便的一个

1.引入maven

        <dependency>
            <groupId>com.squareup.okhttp3</groupId>
            <artifactId>okhttp</artifactId>
            <version>3.14.2</version>
        </dependency>

2.代码

import com.alibaba.fastjson.JSONObject;
import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.Response;
import java.io.IOException;
 
 
public class Weather {
 
    public static String getTemp() throws IOException {
        OkHttpClient client = new OkHttpClient().newBuilder()
                .build();
        Request request = new Request.Builder()
                .url("http://d1.weather.com.cn/sk_2d/101120101.html")
                .method("GET", null)
                .addHeader("Referer", "http://www.weather.com.cn/")
                .build();
        Response response = client.newCall(request).execute();
        String body = response.body().string();
        //去除多余字符串
        body = body.substring(body.indexOf('{'));
        JSONObject jsonObject = JSONObject.parseObject(body);
        System.out.println(jsonObject.getString("cityname")+"= " + jsonObject.getString("temp"));
        return jsonObject.getString("temp");
    }
 
 
}

3.建表语句

CREATE TABLE `weather` (
  `id` varchar(36) NOT NULL,
  `city_name` varchar(32) DEFAULT NULL COMMENT '城市名称',
  `city` varchar(32) DEFAULT NULL COMMENT '城市编码',
  `temp` int(11) DEFAULT NULL COMMENT '温度',
  `tempf` int(11) DEFAULT NULL COMMENT '华氏度',
  `wd` varchar(32) DEFAULT NULL COMMENT '风向',
  `ws` varchar(32) DEFAULT NULL COMMENT '风力',
  `wse` varchar(32) DEFAULT NULL COMMENT '风速',
  `sd` varchar(32) DEFAULT NULL COMMENT '湿度',
  `date_time` datetime DEFAULT NULL COMMENT '日期时间',
  `weather` varchar(32) DEFAULT NULL COMMENT '天气',
  `qy` varchar(32) DEFAULT NULL COMMENT '气压',
  `njd` varchar(32) DEFAULT NULL COMMENT '能见度',
  `rain` decimal(10,2) DEFAULT NULL COMMENT '降雨量',
  `rain24h` decimal(10,2) DEFAULT NULL COMMENT '降雨量24小时',
  `aqi` int(11) DEFAULT NULL COMMENT '空气质量',
  `limitnumber` varchar(32) DEFAULT NULL COMMENT '限号',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

是不是看上去很简单,其实就是很简单。

到此这篇关于Springboot实现获取实时天气的文章就介绍到这了,更多相关Springboot获取实时天气内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • JDBC简介_动力节点Java学院整理

    JDBC简介_动力节点Java学院整理

    什么是JDBC?这篇文章就为大家详细介绍了Java语言中用来规范客户端程序如何来访问数据库的应用程序接口,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-07-07
  • Java Condition条件变量提高线程通信效率

    Java Condition条件变量提高线程通信效率

    这篇文章主要介绍了Java Condition条件变量提高线程通信效率,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-10-10
  • Java throw Exception实现异常转换

    Java throw Exception实现异常转换

    这篇文章主要介绍了Java throw Exception实现异常转换,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-04-04
  • 将Dubbo服务打包成Jar包的操作步骤

    将Dubbo服务打包成Jar包的操作步骤

    Dubbo 是一款流行的 Java RPC 框架,它提供了高性能、透明化的 RPC 远程服务调用方案,在开发基于 Dubbo 的服务时,我们通常需要将服务代码打包成可发布的 JAR 包,本文将详细介绍如何将 Dubbo 服务打包成 JAR 包,并提供相应的配置和步骤,需要的朋友可以参考下
    2024-12-12
  • SpringCloud Feign请求头删除修改的操作代码

    SpringCloud Feign请求头删除修改的操作代码

    这篇文章主要介绍了SpringCloud Feign请求头删除修改,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-03-03
  • Java中的Lock与ReentrantLock深入解析

    Java中的Lock与ReentrantLock深入解析

    这篇文章主要介绍了Java中的Lock与ReentrantLock深入解析,Lock位于java.util.concurrent.locks包下,是一种线程同步机制,就像synchronized块一样,但是,Lock比synchronized块更灵活、更复杂,需要的朋友可以参考下
    2024-01-01
  • Java抽象类Abstract Class示例代码详解

    Java抽象类Abstract Class示例代码详解

    Java中的抽象类(Abstract Class)是面向对象编程中的重要概念,它通过abstract关键字声明,用于定义一组相关类的公共行为和属性,下面详细介绍Java抽象类Abstract Class,感兴趣的朋友一起看看吧
    2025-09-09
  • java Class.getSimpleName() 详解及用法

    java Class.getSimpleName() 详解及用法

    这篇文章主要介绍了java Class.getSimpleName() 详解及用法的相关资料,需要的朋友可以参考下
    2017-02-02
  • Maven之分析剔除无用的jar引用问题

    Maven之分析剔除无用的jar引用问题

    这篇文章主要介绍了Maven之分析剔除无用的jar引用问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-09-09
  • jvm支持最大线程数简单测试

    jvm支持最大线程数简单测试

    这篇文章主要介绍了jvm支持最大线程数简单测试,具有一定参考价值,需要的朋友可以了解下。
    2017-11-11

最新评论