Closed kanedaq closed 1 year ago
@aopontann まだ途中ですが、ブランチのソースコードを見やすくするため、プルリク出しました
それ以外はLGTM です!おつかれさまでした、自分のAPIを実装するのに参考になります!
@aopontann @takutok28 以下の要領で動作確認お願いします。
各APIを動かすために必要なテスト用データを、シェフテーブルとユーザーテーブルにINSERTする。各テーブルのIDは自動で値が作られる。
SELECT
*
FROM
insert_chef('{"email": "EMAIL_1", "name": "NAME_1", "imageUrl": null, "profile": "PROFILE_1", "link": [{"label": "LABEL_1", "url": null}], "authServer": "google", "authUserinfo": {}}');
SELECT
*
FROM
insert_usr('{"email": "EMAIL_1", "name": "NAME_1", "imageUrl": null, "profile": "PROFILE_1", "link": [{"label": "LABEL_1", "url": null}], "authServer": "google", "authUserinfo": {}}');
「POST /api/createChefRecipe」を呼び、200が返ることを確認する。シェフテーブルのテスト用データのIDを、リクエストボディのchefIdに設定する。リクエストボディー例は以下の通り。
{
"chefId": "f4da8c3d-64d7-4dcf-858d-f3161304531b",
"name": "グラタン",
"servings": 2,
"method" : [
{
"html": "<h1>作り方1</h1>",
"supplement": {
"image": "1.webp"
}
},
{
"html": "<h1>作り方2</h1>",
"supplement": {
"link": "https://youtu.be/uCkkCRcs81I"
}
}
],
"imageUrl": "https://pbs.twimg.com/media/Er7dlbJVQAIWVsW?format=jpg&name=small",
"introduction": "二人に捧げるグラタン",
"link": [
"https://youtu.be/RGZNv1_oVK0",
"https://youtu.be/viAP4lzks7k",
"https://youtu.be/QM22Tc8PdKI"
],
"accessLevel": 1
}
「POST /api/createUsrRecipe」を呼び、200が返ることを確認する。ユーザーテーブルのテスト用データのIDを、リクエストボディのusrIdに設定する。リクエストボディー例は以下の通り。
{
"usrId": "2c92aad1-a117-451b-88d1-70935c360fdf",
"name": "ラーメン",
"servings": 2,
"method" : [
{
"html": "<h1>作り方1</h1>",
"supplement": {
"image": "1.webp"
}
},
{
"html": "<h1>作り方2</h1>",
"supplement": {
"link": "https://youtu.be/uCkkCRcs81I"
}
}
],
"imageUrl": "https://pbs.twimg.com/media/Er7dlbJVQAIWVsW?format=jpg&name=small",
"introduction": "マイラーメン",
"link": [
"https://youtu.be/RGZNv1_oVK0",
"https://youtu.be/viAP4lzks7k",
"https://youtu.be/QM22Tc8PdKI"
],
"accessLevel": 1
}
「PUT /api/updateRecipe/:id」を呼び、200が返ることを確認する。レシピテーブルのデータのIDのいずれかを、パスパラメーターに設定する。リクエストボディー例は以下の通り。
{
"name": "平べったいたこ焼き",
"servings": 4,
"method" : [
{
"html": "<p>作り方1</p>",
"supplement": {
"image": "1.webp"
}
},
{
"html": "<p>作り方2</p>",
"supplement": {
"link": "https://youtu.be/uCkkCRcs81I"
}
}
],
"imageUrl": "https://pbs.twimg.com/media/Er7dlbJVQAIWVsW?format=jpg&name=small",
"introduction": "お好み焼き",
"link": [
"https://youtu.be/RGZNv1_oVK0",
"https://youtu.be/viAP4lzks7k",
"https://youtu.be/QM22Tc8PdKI"
],
"accessLevel": 2
}
@aopontann @takutok28 書き忘れていましたが、db/schema.sql がDDLの最新です。
これを db/migrations/000001_init.up.sql にコピーする? それとも新たに db/migrations/000002_init.up.sql を作ってこっちにコピーする? (すみません、よくわかっていません)
@aopontann @takutok28 書き忘れていましたが、db/schema.sql がDDLの最新です。
これを db/migrations/000001_init.up.sql にコピーする? それとも新たに db/migrations/000002_init.up.sql を作ってこっちにコピーする? (すみません、よくわかっていません)
000002_[変更内容].up.sql に修正した差分のSQLを書く形になります!
例えば usrテーブルのname の型を変更する場合、
000002_[変更内容].up.sql に
ALTER TABLE MODIFY
文などを記入することになります。
もし、変更箇所が多いのであれば、000001_init.up.sql にコピーしても大丈夫です。 その場合、DBのテーブルなどを削除して、マイグレーションを実行する流れになるかと思います。
また何か分からない点があれば教えてください!
ありがとうございます。 シンプルに000001_init.up.sqlにコピーしてpushしました。
@kanedaq API の仕様を確認していて、404が出たので何が抜けているか分かれば教えてください!
上記記載のテストデータ追加、およびmigrationの削除と新しいschema へのupをしました。 また、chefIDもDB上のもの置き換えましたが、404が出ていて理由が理解できていないです。
@kanedaq API の仕様を確認していて、404が出たので何が抜けているか分かれば教えてください!
上記記載のテストデータ追加、およびmigrationの削除と新しいschema へのupをしました。 また、chefIDもDB上のもの置き換えましたが、404が出ていて理由が理解できていないです。
もしかしたらホットリロードツールの air が原因かもしれません... app コンテナを再起動してみてください!
@aopontann 再起動で動くようになりました!ありがとうございます😁
Closes #30