From 5a85ea5dbc973e4ff52649c90a4bb43edb7d41ef Mon Sep 17 00:00:00 2001 From: "masato.fujita" Date: Thu, 12 Jun 2025 09:51:17 +0900 Subject: [PATCH] =?UTF-8?q?API=E3=81=A8=E3=81=AE=E7=B5=B1=E5=90=88(?= =?UTF-8?q?=E4=B8=8D=E5=85=B7=E5=90=88=E3=81=82=E3=82=8A)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../example/todoapp/config/InitTables.java | 10 ++-- frontend/src/pages/DishList.tsx | 47 +++++++++++-------- 2 files changed, 33 insertions(+), 24 deletions(-) diff --git a/backend/src/main/java/com/example/todoapp/config/InitTables.java b/backend/src/main/java/com/example/todoapp/config/InitTables.java index 413f9f2..12eb13b 100644 --- a/backend/src/main/java/com/example/todoapp/config/InitTables.java +++ b/backend/src/main/java/com/example/todoapp/config/InitTables.java @@ -43,11 +43,11 @@ public class InitTables { @PostConstruct public void initTables() { - // tobuysRepository.deleteAll(); //データを残す場合はコメントアウト - // stocksRepository.deleteAll(); //データを残す場合はコメントアウト - // recipeStuffsRepository.deleteAll(); //データを残す場合はコメントアウト - // recipesRepository.deleteAll(); //データを残す場合はコメントアウト - // stuffsRepository.deleteAll(); //データを残す場合はコメントアウト + tobuysRepository.deleteAll(); //データを残す場合はコメントアウト + stocksRepository.deleteAll(); //データを残す場合はコメントアウト + recipeStuffsRepository.deleteAll(); //データを残す場合はコメントアウト + recipesRepository.deleteAll(); //データを残す場合はコメントアウト + stuffsRepository.deleteAll(); //データを残す場合はコメントアウト if (stuffsRepository.count() > 0) { return; // すでにデータが存在する場合は何もしない diff --git a/frontend/src/pages/DishList.tsx b/frontend/src/pages/DishList.tsx index 2202f23..f30216f 100644 --- a/frontend/src/pages/DishList.tsx +++ b/frontend/src/pages/DishList.tsx @@ -1,6 +1,6 @@ import React, { useState, useEffect } from 'react'; import { useNavigate } from 'react-router-dom'; -import { toBuyApi } from '../services/api'; +import { toBuyApi, recipeApi } from '../services/api'; import { Container, Typography, @@ -44,21 +44,29 @@ const DishList: React.FC = () => { const test = [1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0,1]; // APIができるまでのテスト用の型 interface Dish { - id:number, - name:string, - amount:number + recipeId: number, + recipeName: string, + summary: number } + // APIができるまでの食材配列 const testdish : Dish[] = [ - { id: 1, name: 'ジャガイモ', amount:1 }, - { id: 2, name: '人参', amount:2 }, - { id: 3, name: '人参', amount:2 }, - { id: 4, name: '人参', amount:2 } + { recipeId: 1, recipeName: 'ジャガイモ', summary:1 }, + { recipeId: 2, recipeName: '人参', summary:2 }, + { recipeId: 3, recipeName: '人参', summary:2 }, + { recipeId: 4, recipeName: '人参', summary:2 } ]; + // interface testdish { + // recipeId: number, + // recipeName: string, + // summary: number + // } + + // すべての料理リスト + const [allDish, setAllDish] = useState(); // 画面表示用の食材情報配列 const [testDishArray, setTestDishArray] = useState(testdish); - // エラーメッセージの状態管理 const [error, setError] = useState(false); // 選択した料理の情報を表示するダイアログの表示状態 @@ -112,9 +120,10 @@ const DishList: React.FC = () => { const fetchTasks = async () => { try { - const tobuys = await toBuyApi.getToBuys(); - setToBuys(tobuys); + const dishlistfirst = await recipeApi.getAllRecipes(); + setAllDish(dishlistfirst); } catch (error) { + alert("取得失敗"); // console.error(`${TASK_ERRORS.FETCH_FAILED}:`, error); } }; @@ -128,13 +137,13 @@ const DishList: React.FC = () => { overflowY: 'auto', padding: '20px'}}> {/* */} {/* タスク一覧をマップして各タスクをリストアイテムとして表示 */} - {test.map((test, index) => ( + {allDish && allDish.map((allDish, recipeId) => (