iT邦幫忙

2021 iThome 鐵人賽

DAY 10
1

熟悉JWT的我敲開了大門的門鎖,走進了房間

同學:來,你過來~~

我:幹嘛啦 (被推著坐下),哇,同學你有好多資料喔~!

同學:這沒什麼,來,來看這個好康的(送出某個未知的物件)

我:同學~這是什麼(聲音發抖)


Like Spring JdbcTemplate, RestTemplate is also a high-level API, which in turn is based on an HTTP client. By default, the class java.net.HttpURLConnection from the Java SDK is used in RestTemplate. However, the Spring Framework makes it possible to easily switch to another HTTP client API. How to do this is described in another blog post.

Spring 提供的這個RestTemplate其實就是把HttpURLConnection進行包裝。

以下是他的使用步驟:

Creating a URL object and opening the connection: 製作一個URL物件去開啟連線

  • Configuring the HTTP request: 設定請求設定
  • Executing the HTTP request: 發送請求
  • Interpretation of the HTTP response: 解析回傳的資料
  • Converting the HTTP response into a Java object: 將回傳的資料轉換成Java物件
  • Exception handling: 萬一發生錯誤時,攔截它

由此可知,我們可以根據回傳資料量身打造物件去承接它。

在開始實作RestTemplate之前我們還是要先知道,我們要去哪邊獲得股市資訊呢?

證交所盤後資訊-個股日成交資訊

點進這個連結後可以看到

https://ithelp.ithome.com.tw/upload/images/20210925/20138857uCPuEgXFwY.png

這時候可以發現 OAS標準之API說明文件網址
裡面其實是swagger的資訊
我們開啟swagger的編輯器

把API說明文件的json貼上去就可以看到文件說明囉

https://ithelp.ithome.com.tw/upload/images/20210925/20138857mbUsvohHpX.png

好的,讓我們從證卷交易-上市個股日成交資訊 這個連結開始吧

上市個股日成交資訊

直接點這個連結會發現有一個json檔案可以下載,點開後會發現
它裡面長這個樣子

https://ithelp.ithome.com.tw/upload/images/20210925/20138857omd1hkrna2.png

基本上格式是長這個樣子的,解析格式是很重要的,
因為我們要創建對應的Java物件就是要按照回傳資料的名稱去對照,不然會發生資料解析錯誤。

{
  "Code": "string", //證券代號
  "Name": "string", //證券名稱
  "TradeVolume": "string", //成交股數
  "TradeValue": "string", //成交金額
  "OpeningPrice": "string", //開盤價
  "HighestPrice": "string", //最高價
  "LowestPrice": "string", //最低價
  "ClosingPrice": "string", //收盤價
  "Change": "string", //漲跌價差
  "Transaction": "string" //成交筆數
}

好的,明天我們會開始實作從API取得資料功能~~

資料來源:
Using RestTemplate in Spring


上一篇
JWT實作(五)(Day9)
下一篇
RestTemplate實作(一)(Day11)
系列文
Angular+Spring Boot API 處理股市資料32
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言