FastAPI පළමු අදියරේ දත්ත ගබඩා කිරීමේ හැකියාව ලබා දුන්නා. නමුත් ඒ ගබඩා මත පදනම් වූ API එකේ හඬක් නොතිබුණා – අන්තර්ජාලයෙන් කිසිවකුට දත්ත එක් කිරීම, ලැයිස්තුගත කිරීම හෝ මකා දැමීම කළ නොහැකි වුණා. දෙවන අදියර එම හිස් පටලය පිරවීමට, HTTP අන්තර්මුඛයන් (CRUD) එක් කරමින්, පරිශීලකයන්ට සජීවීව ක්රියාකර ගැනීමට ඉඩ සලසයි.
ඇත්තේ කුමක්ද?
Phase‑2 තුළ POST, GET, PATCH, DELETE වැනි HTTP ක්රියාමාර්ග හතරක් සකසා, පරිශීලකයන්ට වියදම් එකතු කිරීම, සියලු වියදම් බලන්න, වියදම් තොරතුරු යාවත්කාලීන කිරීම, සහ අවශ්ය නම් මකා දැමීමේ හැකියාව ලැබේ. මෙය සාර්ථකව කරගැනීමට දෙකේ නව අදහස් අවශ්ය වුණා – Pydantic සහ Dependency Injection. Pydantic මඟින් ඇතුළත් කරන JSON දත්ත වල වර්ග හා සීමා පරීක්ෂා කර, වැරදි දත්ත ඇතුළත් වීම තාක්ෂණිකව වැලැක්වෙයි. Dependency Injection මගින් එක් එක් අන්තර්මුඛය සඳහා DB සම්බන්ධතාවයක් සකසා, අවසන් වූ විට ස්වයංක්රියව වසා දේ.
කොහොමද මේක ක්රියා කරන්නේ?
පළමුව schemas.py ගොනුවේ ExpenseCreate (ඇතුළත් කිරීමේ) සහ ExpenseRead (පෙරළීමේ) යන Pydantic සැකසුම් දෙකක් නිර්මාණය කරයි. ExpenseCreate හි amount (ශුද්ධය >0), description (අක්ෂර 1‑255), spent_on වැනි ක්ෂේත්ර පමණක් අඩංගු වේ; ඒ අතර ID, created_at වැනි දත්ත සමුදාය විසින් පමණක් නිර්මාණය වේ. ExpenseRead හි ඒ සියලුම ක්ෂේත්ර ඇතුළත් කර, පාරිභෝගිකයාට පූර්ණ තොරතුරු ලබා දේ.
ඊළඟට, FastAPI හි Depends භාවිතයෙන් DB සත්කාරකය (session) එකක් සකසා, සියලු අන්තර්මුඛයන් ඒ සත්කාරකය භාවිතා කරන ලෙස සැකසෙයි. මෙය සම්පූර්ණයෙන්ම සම්පූර්ණ සම්පත් කළමනාකරණයක් ලබා දෙයි – සම්බන්ධතාවය ඇරඹීම, පරිශීලක ඉල්ලීම සම්පූර්ණ කිරීම, පසුබැසීමේදී සම්බන්ධතාවය වසා දීම.
ශ්රී ලංකාවට ඇති වැදගත්කම
ශ්රී ලංකාවේ තරුණ සංවර්ධකයන්ට FastAPI, Pydantic, Dependency Injection වැනි නවතම Python තාක්ෂණයන් ඉගෙන ගැනීම ඉතා ප්රයෝජනවත් වේ. මෙම උදාහරණය මඟින්:
- දත්ත වල සත්යතාව පරීක්ෂා කරමින් API නිර්මාණය කිරීමේ ක්රමවේදය අවබෝධ කරගත හැක.
- CRUD ක්රියාමාර්ග හතරක් පමණක් භාවිතා කරමින් සරල, පරිශීලක‑හිතකාමී වෙබ් සේවාවක් සකස් කිරීමේ හැකියාව ලැබේ.
- Dependency Injection මඟින් කේතය පිරිසිදු කර, ආරක්ෂිත DB සම්බන්ධතා කළමනාකරණය හැකියාව ලබා දේ.
- සිංහලෙන්ම තාක්ෂණික ලේඛන ලියීම, දේශීය සමාජයට දැනුම පැතිරවීමේ මාර්ගයක් වේ.
මෙම කුඩා ව්යාපෘතිය, ස්ථානීය ව්යාපාරයන්ට තමන්ගේ වියදම් පාලන පද්ධතියක් ඉක්මනින් නිර්මාණය කර, ඩිජිටල් පරිවර්තනයේ තවත් පියවරක් ඉදිරියට ගෙන යාමට උපකාරී වේ.
නිගමනය
FastAPI හි CRUD අන්තර්මුඛයන් නිර්මාණය කිරීම, Pydantic සහ Dependency Injection මඟින් දත්ත වල ගුණාත්මකභාවය සහ සම්පත් කළමනාකරණය වර්ධනය කරයි. මෙය පරිශීලක‑හිතකාමී, ආරක්ෂිත, හා පරිමාණය කළ හැකි API එකක් ඉදිරිපත් කරයි. දැන් ඔබටත් ඔබේ පළමු FastAPI CRUD සේවාව සකස් කර, දැනුම ප්රායෝගිකව භාවිතා කිරීමට අවස්ථාව ලැබේ.