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

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

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

獲取天氣信息作者是通過高德開放平臺來實(shí)現(xiàn)的。

1、在該平臺注冊個賬號

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

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

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

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

開發(fā)文檔

下面按照說明使用即可。

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

4、pom.xml文件的引用

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

5、配置文件

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í)體添加引用,在創(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ā)起請求
 * @Version: v1.0
 */
public class HttpsUtil {
    /**
     * get請求
     */
    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)級: "+livesModel.getWindpower();
        System.out.println(zong);
        
    }

成功返回數(shù)據(jù)

9、項(xiàng)目優(yōu)化

高德開放平臺根據(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)級: "+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"));
    }

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

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

相關(guān)文章

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

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

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

    Java解壓和壓縮帶密碼的zip文件過程詳解

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

    如何獲取Java集合中泛型的Class對象

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

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

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

    Spring?Cloud?OpenFeign模版化客戶端搭建過程

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

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

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

    MyBatisPlus 一對多、多對一、多對多的完美解決方案

    這篇文章主要介紹了MyBatisPlus 一對多、多對一、多對多的完美解決方案,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    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)一前綴,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-02-02
  • Arrays.asList方法總結(jié)

    Arrays.asList方法總結(jié)

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

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

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

最新評論

镇雄县| 政和县| 沅江市| 东安县| 中宁县| 宕昌县| 邵东县| 苍山县| 墨江| 广西| 南丹县| 楚雄市| 习水县| 通城县| 嘉兴市| 肥东县| 青田县| 邢台县| 澄迈县| 长治市| 阳东县| 承德市| 安仁县| 报价| 万盛区| 邓州市| 泾源县| 洛隆县| 上栗县| 侯马市| 荆门市| 呈贡县| 绥宁县| 广东省| 贡觉县| 靖宇县| 五河县| 湖北省| 吉安县| 开化县| 鱼台县|