昨天我們嘗試用Ninja API抓到資料庫中的資料,不過API的功能不只可以從資料庫中撈出資料,也可以反向寫入資料,今天我們就來嘗試這部分的功能。
在今天的實作之前,我們先完整的說明HTTP Request的各種類型,不同類型的Request會需要實作不同的API。
首先,什麼是Request呢?簡單理解成使用者對網站開出的請求,例如送出一個網址,希望看到網站的內容,或是想要編輯網頁的內容,不同的請求就會對應到九種不同類型的Request:
Body
),只會收到標頭檔。而我們今天要實作的是POST。
今天我們將實作新增Tag資料的POST Request。
進入api.py
,新增以下程式碼:
@api.post("tags")
def add_tag(request, pay_load:Tags):
tag = Tag.objects.create(**pay_load.dict())
return {"id":tag.id}
第一行的api.post
代表這個function是要處理POST。
payload
在這邊我們丟入昨天實作過的Tag的Schema
,並在第二行中指定成輸入的格式。
Tag.objects.create
則是透過程式碼對資料庫新增資料的方式。
進入Ninja之後我們一樣試用今天新增的API(注意!在這邊新增的資料都不是真正的編輯資料庫喔!)
可以看到在Request body的部分,出現了字典的格式,這是因為我們剛剛在程式中設定的緣故。
輸入好之後就可以點擊Execute,就可以看到網頁的Responce囉~
台南不需要米其林
- 專案網址
- 專案程式碼
- 專案文件與鐵人賽文章
- 參賽團隊 台南巷弄美食獵人
進入Ninja之後我們一樣試用今天新增的API(注意!在這邊新增的資料都不是真正的編輯資料庫喔!)
可以看到在Request body的部分,出現了字典的格式,這是因為我們剛剛在程式中設定的緣故。
輸入好之後就可以點擊Execute,就可以看到網頁的Responce囉~
台南不需要米其林
- 專案網址
- 專案程式碼
- 專案文件與鐵人賽文章
- 參賽團隊 台南巷弄美食獵人