-
Notifications
You must be signed in to change notification settings - Fork 0
/
teori.txt
39 lines (19 loc) · 2.95 KB
/
teori.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
**API'den data çıkarken json olarak çıkıyor client girereken de category olarak girmesi gerekiyor.**
1.CMS.API CMS.Client_Shop adında Asp.net Core web Application (model-view-controller) olarak açılır.
2.Models altında category class açılır.Dto da oluşturabilrdik.Ama fazla iş yapmamak adıns category üzerinden yürüttük işlerimizi.
2.Controller altında category controller oluşturulur.
NOT => Client_Shop'un controller sayfasında herhangi bir injection yapılmamaktadır.Ayrıca Client Shop için herhangi migration işlemide
yapılmamaktadır.Dataların bize gelmesinin web kısmında bulunan katmanlarla hiçbir alakası yoktur.Bunları bize API katmanında oluşturmuş olduğumuz swagger teslim etmektedir.Client_Shop'u CMS projesinde değilde ayrı bir projede oluştarabilirdik.Sonuçta swagger bize dataları teslim edecektir.CMS API 'de swagger sayfasında bulunan "GET" kısmına basıp "Try it out" => "Execute" => "Request URL" altındaki yolu;
Request URL
http://localhost:2694/api/Category
Category Controller de yaptığımız create,update,delete işlemlerinde duruma göre belirteceğiz.
Hangi kısımda çalışıyorsan onu set a startup yapmayı unutma.Client_shop'ta controller sayfsında oluşturmuş olduğum methodları görmek için viewlarını
oluşturduk.Bunu görmek içinde view sayfalarına "View In Browser" deyip daha sonra CMS.API kısmı set a startup olduğundan emin olup IIS ayağa kaldırdık.Bu işlemsırası önemlidir.ilk önce hangi sayfayı görmek istiyorsak o sayfaya view in browser dedikten sonra "IIS" ayağa kaldırmamız gerekmektedir.Ve daha sonra view ın browser dediğimz sayfaya gidip refreshledikten sonra bize datalar gelecektir.
DTO oluşturmakla uğraşmadık bize "Category" adında oluşturduğumuz sınıf bunları temin edecektir. CRUD işlemlerinde de "Category" sınıfından çağıracağız.
Using : IDisposable interface'sinden türemiş nesneler using(){} bloğu içinde oluşturulursa,using bloğundan çıkılır çıkılmaz GC(Garbage Collector)’ye devredilir ve hemen silinirler(Dispose edilirler).Çünkü IDisposable’den türemiş classlarda %100 Dispose metodu vardır.Using bloğuda aslında blok sonunda bu metodu çalıştırmaktadır.Bu sayede manuel olarak nesneyi Dispose etmemize gerek kalmaz.
CategoryController , Controllerden kalıtım almaktadır.Controller'ın üstüne gelip "Go to Definition" yaptığımız zaman Controller snıfının IDisposable kalıtım aldığını görmekteyiz.Yani using kullanıldığında işi biter bitmez oradan kaldırılacak demektir.
HttpClient : C# ile bir API’a istekte bulunabilmek için System.Net.Http namespace’i altında bulunan HttpClient sınıfı kullanılmaktadır. Bu sınıf ile API’lara yapılacak olan sıradan istekler çok kolay gerçekleştirilebilir.Get,Post,Update,Delete gibi..
http://localhost:2694/api/Category/{id} => URL oluyor sonunda bulunan id de uri oluyor.
Uri => Bir URL’nin altında bulunan kaynağın tam yoluna işaret eden kısımdır.
Encoding.UTF8 => Türkçe karakter desteği
ReadAsStringAsync() => HTTP içeriğini seri hale getirin ve içeriği bir işlem olarak temsil eden bir akış döndürün.