最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

使用Springboot實(shí)現(xiàn)獲取某個(gè)城市當(dāng)天的天氣預(yù)報(bào)

 更新時(shí)間:2024年04月20日 17:24:42   作者:星空下夜貓子  
這篇文章主要為大家詳細(xì)介紹了使用Springboot實(shí)現(xiàn)獲取某個(gè)城市當(dāng)天的天氣預(yù)報(bào)的相關(guān)知識(shí),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下

獲取天氣信息作者是通過(guò)高德開(kāi)放平臺(tái)來(lái)實(shí)現(xiàn)的。

1、在該平臺(tái)注冊(cè)個(gè)賬號(hào)

如已經(jīng)注冊(cè),直接登錄即可。

2、創(chuàng)建應(yīng)用

創(chuàng)建成功后獲取到key值。(注意該值會(huì)經(jīng)常用到,且可以共用保存好)

3、進(jìn)入開(kāi)發(fā)文檔選擇天氣查詢

開(kāi)發(fā)文檔

下面按照說(shuō)明使用即可。

接下來(lái)上代碼。(注意功能接受的是JSON格式的)

4、pom.xml文件的引用

        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>fastjson</artifactId>
            <version>1.2.80</version>
        </dependency>

5、配置文件

無(wú)

6、實(shí)體類

package com.zjh.weixin.Model;


import lombok.Data;

import java.util.List;

/**
 * @Author: zjh
 * @Date: 2022/9/19 11:03
 * @Description: 天氣總實(shí)體
 * @Version: v1.0
 */
@Data
public class WeatherModel {
    private String status;
    private String count;
    private String nfo;
    private String infocode;
    private List<LivesModel> lives;
}

該實(shí)體為總實(shí)體(后續(xù)添加功能時(shí),在總實(shí)體添加引用,在創(chuàng)建子實(shí)體)

package com.zjh.weixin.Model;

import lombok.Data;

/**
 * @Author zjh
 * @Date 2022/9/19 1053
 * @Description 天氣實(shí)體類
 * @Version v1.0
 */
@Data
public class LivesModel {
    private String province;
    private String city;
    private String adcode; 
    private String weather ;
    private String temperature ;
    private String winddirection;
    private String windpower;
    private String humidity;
    private String reporttime ;
}

該類為子實(shí)體

7、根據(jù)路徑獲取信息

package com.zjh.weixin.Util;

import org.springframework.http.HttpEntity;
import org.springframework.http.HttpHeaders;
import org.springframework.http.MediaType;
import org.springframework.web.client.RestTemplate;
import com.alibaba.fastjson.JSON;
import java.util.Map;

/**
 * @Author: zjh
 * @Date: 2022/9/19 10:29
 * @Description: 后端根據(jù)路徑發(fā)起請(qǐng)求
 * @Version: v1.0
 */
public class HttpsUtil {
    /**
     * get請(qǐng)求
     */
    public static String get(String url){
        HttpHeaders headers = new HttpHeaders();
        MediaType mediaType = MediaType.parseMediaType("application/json; charset=UTF-8");
        headers.setContentType(mediaType);
        RestTemplate restTemplate = new RestTemplate();
        String result = restTemplate.getForObject(url, String.class);
        return result;
    }
}

8、調(diào)用方法

 public static void main(String[] args) {
        String url = "https://restapi.amap.com/v3/weather/weatherInfo?city=411400&key=b2f301************077d21";
        String s = HttpsUtil.get(url);
        System.out.println(s);
        JSONObject object = JSONObject.parseObject(s);
        WeatherModel jb = (WeatherModel)JSONObject.toJavaObject(object, WeatherModel.class);
        System.out.println(jb);
        LivesModel livesModel = jb.getLives().get(0);
        System.out.println(livesModel);
        int c =Integer.valueOf(livesModel.getTemperature());
        SimpleDateFormat dateFm = new SimpleDateFormat("EEEE");
        String currSun = dateFm.format(new Date());
        String r = null;
        if (c<=26 && c>=18){
            r="今天溫度適宜";
        }else if (c>26){
            r="今天溫度較高,注意防曬";
        }else if(c<18){
            r="今天溫度較低,注意保暖";
        }
        String zong = "日期: "+livesModel.getReporttime()+"  "+currSun+"\n"+
                "所在城市: "+livesModel.getCity()+"\n"+
                "天氣: " + livesModel.getWeather()+"\n"+
                "溫度: "+ livesModel.getTemperature()+"  "+r+"\n"+
                "風(fēng)向: "+ livesModel.getWinddirection()+"風(fēng)"+"\n"+
                "風(fēng)級(jí): "+livesModel.getWindpower();
        System.out.println(zong);
        
    }

成功返回?cái)?shù)據(jù)

9、項(xiàng)目?jī)?yōu)化

高德開(kāi)放平臺(tái)根據(jù)地址獲取城市編碼

public static String getWeather(String adcode,String key){
        String url = "https://restapi.amap.com/v3/weather/weatherInfo?city="+adcode+"&key="+key;
        String s = HttpsUtil.get(url);
        JSONObject object = JSONObject.parseObject(s);

        WeatherModel jb = (WeatherModel)JSONObject.toJavaObject(object, WeatherModel.class);
        LivesModel livesModel = jb.getLives().get(0);
        int c =Integer.valueOf(livesModel.getTemperature());
        SimpleDateFormat dateFm = new SimpleDateFormat("EEEE");
        String currSun = dateFm.format(new Date());
        String r = null;
        if (c<=26 && c>=18){
            r="今天溫度適宜";
        }else if (c>26){
            r="今天溫度較高,注意防曬";
        }else if(c<18){
            r="今天溫度較低,注意保暖";
        }
        String zong = "日期: "+livesModel.getReporttime()+"  "+currSun+"\n"+
                "所在城市: "+livesModel.getCity()+"\n"+
                "天氣: " + livesModel.getWeather()+"\n"+
                "溫度: "+ livesModel.getTemperature()+"  "+r+"\n"+
                "風(fēng)向: "+ livesModel.getWinddirection()+"風(fēng)"+"\n"+
                "風(fēng)級(jí): "+livesModel.getWindpower();
        return zong;
    }
    private static String getCityCode(String adress,String key){
        String url = "https://restapi.amap.com/v3/geocode/geo?address="+adress+"&key="+key;
        String s = HttpsUtil.get(url);
        JSONObject object = JSONObject.parseObject(s);
        System.out.println(object);
        JSONArray array = (JSONArray) object.get("geocodes");
        JSONObject arrayObject = (JSONObject) array.get(0);
        String adcode = arrayObject.get("adcode").toString();
        return adcode;
    }

    public static void main(String[] args) {

        System.out.println(getCityCode("河南省鄭州市","b2f301c36******77d21"));
        System.out.println(getWeather(getCityCode("河南省鄭州市","b2f3*****7d21"),"b2f3*******7d21"));
    }

注:該功能雖說(shuō)是springboot項(xiàng)目,但是缺失許多東西,不太完善(其主要原因是因?yàn)樽髡甙l(fā)現(xiàn)通過(guò)java編程實(shí)現(xiàn)通過(guò)用戶賬號(hào)發(fā)送給該用戶的好友信息,只能通過(guò)Robot的自動(dòng)測(cè)試功能實(shí)現(xiàn)微信發(fā)送消息。該方法缺點(diǎn)太大,不太方便,暫時(shí)未找到其他更好的方法

以上就是使用Springboot實(shí)現(xiàn)獲取某個(gè)城市當(dāng)天的天氣預(yù)報(bào)的詳細(xì)內(nèi)容,更多關(guān)于Springboot獲取天氣預(yù)報(bào)的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • IDEA 2023 spring項(xiàng)目配置Maven全過(guò)程

    IDEA 2023 spring項(xiàng)目配置Maven全過(guò)程

    在IDEA中配置Maven需依次打開(kāi)設(shè)置,搜索并配置Maven,成功時(shí)顯示BUILD SUCCESS,此方法實(shí)用,供開(kāi)發(fā)者參考,歡迎支持腳本之家
    2025-09-09
  • Java解壓和壓縮帶密碼的zip文件過(guò)程詳解

    Java解壓和壓縮帶密碼的zip文件過(guò)程詳解

    這篇文章主要介紹了Java解壓和壓縮帶密碼的zip文件,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,下面我們來(lái)學(xué)習(xí)一下吧
    2019-06-06
  • 如何獲取Java集合中泛型的Class對(duì)象

    如何獲取Java集合中泛型的Class對(duì)象

    這篇文章主要介紹了如何獲取Java集合中泛型的Class對(duì)象問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2025-06-06
  • EasyExcel自定義導(dǎo)出列和順序?qū)嵗a

    EasyExcel自定義導(dǎo)出列和順序?qū)嵗a

    這篇文章主要給大家介紹了關(guān)于EasyExcel自定義導(dǎo)出列和順序的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-07-07
  • Spring?Cloud?OpenFeign模版化客戶端搭建過(guò)程

    Spring?Cloud?OpenFeign模版化客戶端搭建過(guò)程

    OpenFeign是一個(gè)顯示聲明式的WebService客戶端。使用OpenFeign能讓編寫Web Service客戶端更加簡(jiǎn)單,這篇文章主要介紹了Spring?Cloud?OpenFeign模版化客戶端,需要的朋友可以參考下
    2022-06-06
  • 在SpringBoot項(xiàng)目中優(yōu)雅的連接多臺(tái)Redis的操作方法

    在SpringBoot項(xiàng)目中優(yōu)雅的連接多臺(tái)Redis的操作方法

    本文將基于一個(gè)實(shí)際案例,詳細(xì)介紹如何在Spring Boot中優(yōu)雅地配置和使用多個(gè)Redis實(shí)例,解決常見(jiàn)的注入歧義問(wèn)題,并提供一個(gè)通用的Redis工具類來(lái)簡(jiǎn)化操作,本文給大家介紹的非常詳細(xì),感興趣的朋友一起看看吧
    2025-09-09
  • MyBatisPlus 一對(duì)多、多對(duì)一、多對(duì)多的完美解決方案

    MyBatisPlus 一對(duì)多、多對(duì)一、多對(duì)多的完美解決方案

    這篇文章主要介紹了MyBatisPlus 一對(duì)多、多對(duì)一、多對(duì)多的完美解決方案,本文通過(guò)圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-11-11
  • SpringBoot2.x實(shí)現(xiàn)給Controller的RequestMapping添加統(tǒng)一前綴

    SpringBoot2.x實(shí)現(xiàn)給Controller的RequestMapping添加統(tǒng)一前綴

    這篇文章主要介紹了SpringBoot2.x實(shí)現(xiàn)給Controller的RequestMapping添加統(tǒng)一前綴,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-02-02
  • Arrays.asList方法總結(jié)

    Arrays.asList方法總結(jié)

    本文主要對(duì)Arrays.asList方法進(jìn)行總結(jié)。具有很好的參考價(jià)值,下面跟著小編一起來(lái)看下吧
    2017-02-02
  • 詳細(xì)易懂帶你了解Spring中的注解

    詳細(xì)易懂帶你了解Spring中的注解

    這篇文章主要介紹了詳細(xì)易懂帶你了解Spring中的注解,Spring的一個(gè)核心是IOC,是將Bean初始化加載到容器中,Bean是如何加載到容器的,可以使用Spring注解方式或者Spring XML配置方式,需要的朋友可以參考下
    2023-08-08

最新評(píng)論

嘉峪关市| 东乡县| 阿拉善左旗| 裕民县| 民权县| 当雄县| 长顺县| 芦山县| 孝昌县| 江源县| 肇东市| 河南省| 永康市| 苏尼特左旗| 临泉县| 石狮市| 怀仁县| 阿克苏市| 洛川县| 安化县| 颍上县| 萨嘎县| 赤壁市| 翁牛特旗| 沙田区| 武汉市| 定兴县| 天等县| 齐齐哈尔市| 民和| 孟连| 宾阳县| 喀喇沁旗| 曲水县| 无锡市| 湘潭县| 虹口区| 遂平县| 阿拉善左旗| 娄底市| 平利县|