SpringBoot搭建天氣預報微服務系統

2021-09-03 08:00:34 字數 2698 閱讀 5616

從天氣預報微服務系統的單體架構——>分布式架構的演變過程中,一步一步,由淺及深的學習springcloud微服務的思想與其實現的元件。

本系列文章分為以下幾個章節:

專案原始碼已上傳至github.

//依賴關係

dependencies

天氣預報專案的功能特別簡單。即使用者可以通過城市名稱查詢對應的城市天氣。

關於天氣預報資料的**

我們使用網上免費的第三方天氣api服務提供商。當然對於的缺點就是不穩定,隨時可能掛掉,但是足以應付我們的開發學習。

專案結構

從返回json資料建立對應的實體類

我們利用postman傳送天氣請求。

返回資料如下(部分):

,

"city": "廣州",

"aqi": "77",

"forecast": [,],

"ganmao": "各項氣象條件適宜,無明顯降溫過程,發生感冒機率較低。",

"wendu": "24"

},"status": 1000,

"desc": "ok"

}

可以很容易的發現,可以建立四個實體類。

private string date;

private string high;

private string fengli;

private string low;

private string fengxiang;

private string type;

private yesterday yesterday;

private string city;

private string aqi;

private listforecast;

private string ganmao;

private string wendu;

private weather data;

private integer status;

private string desc;

private string date;

private string high;

private string fx;

private string low;

private string fl;

private string type;

建立天氣預報系統api

對於系統,我們只提供兩個請求方式。

weatherdataservice

/**

* @author: cfx

* @description: 天氣資料介面

* @date: created in 2018/4/5 10:38

*/public inte***ce weatherdataservice

weatherdataserviceimpl

@service

public class weatherdataserviceimpl implements weatherdataservice

@override

public weatherresponse getdatabycityname(string cityname)

/*** 重構**

* @param uri

* @return

*/private weatherresponse dogetweather(string uri)

try catch (ioexception e)

return resp;}}

檢視控制層

weathercontroller

@restcontroller

public class weathercontroller

public weatherresponse getweatherbycityname(@pathvariable("cityname") string cityname)

}

resttemplate模板配置

@configuration

public class restconfiguration

}

輸入http://localhost:8080/weather/cityid/101280601執行。 

至此,基於springboot的單體結構的天氣預報系統大體就完成了,後面還會基於此加入redis和quartz來提高系統效能

影評 之 《天氣預爆》

這兩年,國內的喜劇演員也算是得到了比較不錯的發展平台,各類娛樂節目的推陳出新讓很多新的喜劇人被發掘,也有了成長了機會,通過這些喜劇節目比如 歡樂喜劇人 喜劇總動員 笑傲江湖 週六夜現場 以及 王牌對王牌 等等,認識了不少特別棒的喜劇人和喜劇團隊,不過大多還是在娛樂節目中,可能參加娛樂節目的成本和風險...

4 python開源 scrapy爬蟲天氣預報

獲取資訊 修改items.py如下 import scrapy class tutorialitem scrapy.item define the fields for your item here like name scrapy.field city scrapy.field date scra...

SpringBoot環境搭建

1.新增springboot的起步依賴 springboot 要求,專案要繼承 springboot 的起步依賴 spring boot starter parent org.springframework.boot spring boot starter parent 2.1.6.release ...