RestTemplate介绍(Day10)

熟悉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


<<:  [Angular] Day25. Reactive forms (一)

>>:  #番外-让你的CSS好读起来!CSS命名方法论笔记

【Day23】 Transformer 新手包 (三)

Positional Encoding 怎麽做的 书接昨日,我们说 Positional Encod...

Day 01: 缘由、大纲

缘由 大家好,我是维特,去年铁人赛介绍 用 JavaScript、Java、C 刷 Leet Cod...

D16 - 如何用 Apps Script 自动化地创造与客制 Google Docs?(三)Element 的读取与创造

今天的目标 要怎麽简单快速地做出客制化地文件?今天,我们会教用 GAS 搭配 Goolge Doc。...

Day22 Alerts简介

今日我们要介绍一下Kibana内的警报功能,在Elastic Stack 内有提供Kibana Al...

[Day13] 补充说明 – csrf

今天要来补充一下Day9 – views有说明到的csrf,虽然这些东西某某百科都有,那我会特别补充...