EruAI-Mutex-Team2 / fullstack-library

0 stars 0 forks source link

BookController #17

Open turkerkiv opened 2 months ago

turkerkiv commented 2 months ago

Şimdi controller klasörüne bir controller oluşturup içine yazdığınız her method bir endpoint oluyor.

Bu methodların üzerine httpget, httppatch, httpdelete vb şeyler yazıcaz o yüzden bunları araştırsanız iyi olur. kısaca httpget bir get isteği atar. Mesela httpget("getbook") şeklinde girilen bir endpointte /api/book/getbook urlsine atılacak her bir get isteğini o method karşılar. Biz de durum kodu ve yanında DTO data transfer object adı verilen classları döndürürüz. Bu noktada aradaki format json formatıdır ve otomatik halledilir yani bizim çevirmemize falan gerek kalmaz. videodaki gibi sadece httpget koyup url vermezseniz direkt method ismi url oluyor.

Bu arada dbcontext i değil de hangi repository lazım olacaksa o repository, controllerın constructor ı içinden çekilecek.

methodlarda gerekilen parametrelerin frombody mi fromquery mi fromroute mu olacağını siz araştırın. frombody httppost vb için query ve route arasından seçtiğiniz de get vb için kullanılır

Örnek video: https://www.youtube.com/watch?v=cSnoAGHKVus&list=PL82C6-O4XrHfrGOCPmKmwTO7M0avXyQKc&index=5

Aklıma gelen endpointler: getbooksbyname getborrowedbooks getborrowrequests getauthorsbooks writepagetobook getbookpublishrequests

turkerkiv commented 2 months ago

front için ekstra endpointler lazım: yapıldı mı diye bakamadım yapıldıysa atla.

setpublishing -> kitap yayınlandıysa yayınlama yayınlamadıysa da yayınlamama requestpublishment -> yazarın kitap yayınlama isteği atması setborrowrequest -> kitap ödünç alınacak mı alınmayacak mı görevli tarafından cevabı requestborrowingbook -> üyenin kitap ödünç almak istemesi getbookbyid -> kitap okumak için lazım createbook -> yazarın daha yayınlanmamış kitap oluşturması returnbook -> ödünç alınan kitabın geri döndürülmesi