紀錄去年底第一次接觸到AWS(Amazon Web Services)到在AWS上實作一個JSON格式的API,並在AWS上建立AP&DB的方式
有了目的之後,經過初步查詢後理解基礎功能後的想法是:
- 開一台RDB(postgreSQL)
- 建立table塞資料
- 開一台EC2(ubuntu)
- 將EC2環境建置好
- 寫CODE(java)
- 放到EC2中啟動web server
後來根本就卡在4啊!!!!!!!
因為不熟命令列&linux的環境,導致建置期各種問號
我在EC2開好之後,使用putty連線,並爬文找了相關指令來下載java環境..等
以及一直開鳥哥看怎麼操作vi瀏覽器,最後甚至還找了XRDP來連線看到桌面環境XD
後來我覺得應該要找更簡單輕鬆的方法來先實作出東西..
不然依我的腦容量又不常用的東西很快就忘了,
又繼續找更輕鬆的方法…就找到了Elastic Beanstalk! (#小叮噹圖)
這個只需我程式寫好,打包壓縮好上傳就會自己幫你長一台EC2出來,
剛剛上述各種痛苦(之於菜鳥我而言)就不見了,變成一條簡單的路。
流程改為:
- 開一台RDB(postgreSQL)
- 建立table塞資料
- 寫CODE(java)
- 打包丟到AWS上
總算是把環境搞定後就開始找如何透過JAVA實作API的方法了,
雖然對於使用JAVA的經驗很少,也是聽過Spring的,
發現spring boot很類似php的感覺,只要把專案設定好就可以開始了,
不用編輯pom.xml(對此實作而言),也沒有spring的web.xml之類要設定,
像是把xampp開好就可以自己生一個php file來實作的感覺了!
最後是使用spring boot開發,並使用data jpa & Rest Repositories來實作API,
所以就來紀錄一下如何使用Spring Boot來實作簡易的API,並上傳至AWS。
以下正文開始
開發環境:windows7
使用工具:sts
1. 開一台RDS
- 進到RDS介面建立資料庫(我選用postgreSql)
- 設定資料庫名稱、帳號密碼
- 安全群組的部分是選擇default
- 會花數分鐘時間建立RDS
2.建立Table
- 下載PGadminPostgreSQLe管理工具
- 設定PGadmin,建立連線
在RDS查詢連線資訊
範例如下
- 接著透過介面操作資料庫來建立一個USERS table
1 | CREATE TABLE USERS( |
- INSERT三筆資料
1 | INSERT INTO USERS(id, name, email, password, create_date) VALUES |
3.寫CODE
- 下載Spring Tool Suite(STS)
- 建立專案(New->Other->Spring Starter Project)
- 我的設定如圖,選擇war檔是為了最終上傳至Elastic Beanstalk的格式
- 版本及使用項目如圖(JPA、PostgreSQL、Rest Repositories)
- 建立好之後,於src/main/java建立一個packge:com.example.models
1 | package com.example.models; |
- 建立Packge:com.example.repostitories,並在底下建立UserRespository
1 | package com.example.repostitories; |
- 設定application.properties設定連線資訊
1 | #設定這個可指定連入api的路徑 |
- 完成後的結構圖如下
進行Local端測試http://localhost:5000/api會獲得這個畫面↓
自動生成了關於這個API的操作
進一步測試關於Users這個function
http://localhost:5000/api/Users
http://localhost:5000/api/Users/search
####4.打包丟到AWS上面
- 專案右鍵選擇Meven Build
Goals輸入package後run
- 找到產生的war檔(路徑會在consle顯示)
- 利用EB來上傳程式(平台選擇Tomcat)
- 系統會開始建置,完成後可見此程式外部連結
- 便可同在Local測試時一樣,只是把連結改成eb的
http://yourAwsDomain/api/
http://yourAwsDomain/api/User
http://yourAwsDomain/User/search
結束!
從來沒想過會寫JAVA的心得囧..