為了讓主程式看起來整潔一點,我會將RestTemplate發送API的部分拉出來寫一隻Util。
為了方便管理,Util的部分都會建立一個util的資料夾。
建立名稱為PostApiUtil的class並放在util資料夾:
接著新增一個sendPost的方法:
將Request Header所需要的資訊當作參數:
channelId:X-LINE-ChannelId
nonce:X-LINE-Authorization-Nonce
signature:X-LINE-Authorization
mapperData:Request Body
將RestTemplate 給 new出來後,我們需要把Request Header也給補上。
HttpHeaders:
Headers的部分就非常直覺了,將Postman測試時添加的Request Header以HttpHeaders的方式完成!
接下來利用HttpEntity來將我們的Request Header、Request Body包裝成一個Http請求。
HTTP Entity:
Headers:上面準備的HttpHeaders物件
mapperData:Request Body的參數
使用RestTemplate發送PostApi:
主程式ConsumerCheck 呼叫 PostApiUtil的sendPost方法:
帶入channelId、nonce、signature、reuqestHttpsUri、json格式的Request Body。
requestHttpsUri:https的完整uri而不是requestUri喔!
注意是channelId不是channelSecret喔!
為了方便查看測試結果我們修改一下PostApiUtil的部分:
將回傳的responsebody轉換成json格式,回傳的void改成回傳JsonNode的json物件。
測試結果Console(Request API):
可以看到結果為Response 200 OK,以及json格式的Response Body。
那到這邊使用RestTemplate發送API就完成囉!