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获取实时天气内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • SpringBoot日志配置全过程

    SpringBoot日志配置全过程

    Spring Boot默认使用Logback作为日志框架,可以配置多种日志系统,包括JavaUtilLogging、CommonsLogging、Log4J及SLF4J,默认日志输出在控制台,可以通过配置文件将日志保存到文件中,日志级别包括TRACE、DEBUG、INFO、WARN、ERROR和FATAL
    2025-01-01
  • 多数据源@DS和@Transactional实战

    多数据源@DS和@Transactional实战

    这篇文章主要介绍了多数据源@DS和@Transactional实战,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-09-09
  • SpringBoot整合Mybatis Generator自动生成代码

    SpringBoot整合Mybatis Generator自动生成代码

    SpringBoot 整合 Mybatis Generator自动生成dao、entity、mapper.xml实现单表增删改查。文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-08-08
  • java 在file的尾部添加数据的两种方法总结

    java 在file的尾部添加数据的两种方法总结

    这篇文章主要介绍了java 在file的尾部添加数据的两种方法总结的相关资料,这里提供了两种在file尾部添加数据的方法,希望能帮助到大家,需要的朋友可以参考下
    2017-09-09
  • Mybatis动态sql中@Param使用详解

    Mybatis动态sql中@Param使用详解

    这篇文章主要介绍了Mybatis动态sql中@Param使用详解,当方法的参数为非自定义pojo类型,且使用了动态sql,那么就需要在参数前加上@Param注解,需要的朋友可以参考下
    2023-10-10
  • java使用Apache工具集实现ftp文件传输代码详解

    java使用Apache工具集实现ftp文件传输代码详解

    这篇文章主要介绍了java使用Apache工具集实现ftp文件传输代码详解,分享了详细连接ftp server和上传文件,下载文件的代码,以及结果展示,具有一定借鉴价值,需要的朋友可以参考下。
    2017-12-12
  • 利用Java Apache POI 生成Word文档示例代码

    利用Java Apache POI 生成Word文档示例代码

    本篇文章主要介绍了利用Java Apache POI 生成Word文档示例代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-05-05
  • java分布式事务之可靠消息最终一致性解决方案

    java分布式事务之可靠消息最终一致性解决方案

    这篇文章主要为大家介绍了java分布式事务之可靠消息最终一致性解决方案,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-08-08
  • Springboot+Spring Security实现前后端分离登录认证及权限控制的示例代码

    Springboot+Spring Security实现前后端分离登录认证及权限控制的示例代码

    本文主要介绍了Springboot+Spring Security实现前后端分离登录认证及权限控制的示例代码,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-11-11
  • Java8中LocalDateTime与时间戳timestamp的互相转换

    Java8中LocalDateTime与时间戳timestamp的互相转换

    这篇文章主要给大家介绍了关于Java8中LocalDateTime与时间戳timestamp的互相转换,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-03-03

最新评论