VSCodeで始めるSpringBoot(2) ~ 簡単なREST apiつくってみた
SpringBoot + SQLServer2017で簡単なREST apiを作ってみました.
GitHub - gradus-AP/springboot-simple-REST-api
SpringBootってなんやねんって方は,前回記事もご参考までに...
環境
api概要
今回作ったのは,DBのCRUD操作をRESTサービスで提供するapiです.各CRUD操作とapi側の HTTPメソッドは次のように対応付けられます.
DB側 | api側(HTTPメソッド) | 操作の内容 |
---|---|---|
Create | POST | リソースの新規作成 |
Read | GET | リソースの取得 |
Update | PUT | リソースの更新 |
Delete | DELETE | リソースの削除 |
DB
DB側では次のようなusers
テーブルを用意しました.
フィールド名 | 型 | 制約 |
---|---|---|
id | INT IDENTITY(1, 1) | PRIMARY KEY |
name | VARCHAR(255) |
ここでid列のIDENTITY(1, 1)は,このフィールドの値を初期値1, 増分1で自動採番を行うというSQLServerのオプションです. 今回は,
apiの仕様
HTTPメソッド | URL | jsonリクエスト | 処理を内容 |
---|---|---|---|
POST | /api/users/ | {name:{name} } |
名前が{name} のユーザを新規作成 |
GET | /api/users/ | - | usersテーブルの全レコード取得 |
GET | /api/users/{id} |
- | idが{id} であるユーザ名取得 |
PUT | /api/users/{id} |
{name:{name} } |
idが{id} であるユーザ名を{name} へ変更 |
DELETE | /api/users/{id} |
- | idが{id} であるユーザを削除 |
動作確認script(PowerShell)
PowerShellターミナルからコマンドInvoke-WebRequest
をたたいてHTTPリクエストを送ろう.
#POST user 'Yukichi Fukuzawa'を作成 Invoke-WebRequest -Method Post -Body @{name='Yukichi Fukuzawa'} http://localhost:8080/api/users/ #GET user 'Yukichi Fukuzawa'が返される Invoke-WebRequest http://localhost:8080/api/users/ #GET user 'Yukichi Fukuzawa'が返される Invoke-WebRequest http://localhost:8080/api/users/1 #PUT user 'Yukichi Fukuzawa'が'Hideyo Noguchi'に変更 Invoke-WebRequest -Method PUT -Body {name='Hideyo Noguchi'} http://localhost:8080/users/api/1 #DELETE user 'Hideyo Noguchi'が削除される Invoke-WebRequest -Method DELETE http://localhost:8080/users/api/1 #GET userは1件も登録されていない Invoke-WebRequest http://localhost:8080/api/users/