Arama butonu
Bu konudaki kullanıcılar: 1 misafir
10
Cevap
3128
Tıklama
1
Öne Çıkarma
Json nedir rest api nedir?
B
8 yıl
Teğmen
Konu Sahibi

Merhaba arkadaşlar json ile kendi oluşturduğumuz veri tabanından veri çekiyorken rest api de başka sitelerden vs. mi veri çekiyoruz?



F
8 yıl
Yarbay

mesela imdb'den bir tane film hakkında veri almak istiyorum,

bu site mesela bunun için api yapmis.

film hakkindaki bilgileri de JSON formatında döndürüyor.

http://www.omdbapi.com/?t=interstellar&y=&plot=short&r=json


Bu mesaja 1 cevap geldi.
B
8 yıl
Teğmen
Konu Sahibi

quote:

Orijinalden alıntı: funky-nd

mesela imdb'den bir tane film hakkında veri almak istiyorum,

bu site mesela bunun için api yapmis.

film hakkindaki bilgileri de JSON formatında döndürüyor.

http://www.omdbapi.com/?t=interstellar&y=&plot=short&r=json

Hocam, biraz daha açıklayıcı olur musun?



< Bu ileti mobil sürüm kullanılarak atıldı >
Bu mesaja 1 cevap geldi.
L
8 yıl
Yarbay

quote:

Orijinalden alıntı: Brokereren55


quote:

Orijinalden alıntı: funky-nd

mesela imdb'den bir tane film hakkında veri almak istiyorum,

bu site mesela bunun için api yapmis.

film hakkindaki bilgileri de JSON formatında döndürüyor.

http://www.omdbapi.com/?t=interstellar&y=&plot=short&r=json

Hocam, biraz daha açıklayıcı olur musun?

Yukarıdaki arkadaşın verdiği link sana json formatında bi metin gönderiyor. Sen bu metni alıp kendi programında nesneye dönüştürüyorsun. Ondan sonra program içersinde istediğin yerde kullanıyosun. Mesela anasayfada imdb top 20 filmlerini gösteriyosun gibi.


Bu mesaja 1 cevap geldi.
T
8 yıl
Yarbay

:) JSON 2000'lerde yaygınlaşmış, günümüz web şartlarına daha uygun bir format sadece. Veri gösterim formatı. Javascript 'ten türetilmiş bir formatta yani Javascript te direkt, diğer dillerde ise yardımcı kod veya json kütüphanesi gibi eklemeyle kullanılabilen bir format. 1990'larda CSV, sonradan XML'in kullanıldığı alanda yeni bir format yani. Aynı alanda YAML diye bir format daha var ki o da Ruby On Rails te kullanılıyor veya tercih ediliyor diyelim. Ben örneğin REST API'mi JSON yerine YAML veya XML veya CSV ile yapabilirim, tercih meselesi. Hatta gidip düz metin ile TXT formatında dahi yapabilirim, ancak bir şartla: metin içindeki veriler ayrıştırılabilir olacak.

REST API ise web'teki sayfaların sadece bir sayfa olmanın ötesinde birer veri kaynağı gibi düzenlenmesiyle ilgili bir sistemin adı. Ruby on Rails'te örneğin yeni sayfa oluştururken new page değil, new resource denilir ve yeni sayfalar "rails generate resource yeni-sayfam" şeklinde bir komut ile oluşturulur. Bu şekilde oluşturma Rails'in temelden REST API 'ye sahip olduğu anlamına da gelir ki Rails tutoriallarında yeni sayfa (yani resource) oluşturduktan sonra Rails kod yapısı içinde respond_to diye bir metod ile "respond_to :html" şeklinde çağrı ile resource'un html sayfasına dönüşeceği belirtilir. Aynı resource Atom Feed gibi istemci tarafından da kullanılacaksa, "respond_to :html, :atom" şeklinde eklenir. Yani REST API programcı için işleri kolaylaştırır.


Bu mesaja 2 cevap geldi.
B
8 yıl
Teğmen
Konu Sahibi

quote:

Orijinalden alıntı: revivo72

:) JSON 2000'lerde yaygınlaşmış, günümüz web şartlarına daha uygun bir format sadece. Veri gösterim formatı. Javascript 'ten türetilmiş bir formatta yani Javascript te direkt, diğer dillerde ise yardımcı kod veya json kütüphanesi gibi eklemeyle kullanılabilen bir format. 1990'larda CSV, sonradan XML'in kullanıldığı alanda yeni bir format yani. Aynı alanda YAML diye bir format daha var ki o da Ruby On Rails te kullanılıyor veya tercih ediliyor diyelim. Ben örneğin REST API'mi JSON yerine YAML veya XML veya CSV ile yapabilirim, tercih meselesi. Hatta gidip düz metin ile TXT formatında dahi yapabilirim, ancak bir şartla: metin içindeki veriler ayrıştırılabilir olacak.

REST API ise web'teki sayfaların sadece bir sayfa olmanın ötesinde birer veri kaynağı gibi düzenlenmesiyle ilgili bir sistemin adı. Ruby on Rails'te örneğin yeni sayfa oluştururken new page değil, new resource denilir ve yeni sayfalar "rails generate resource yeni-sayfam" şeklinde bir komut ile oluşturulur. Bu şekilde oluşturma Rails'in temelden REST API 'ye sahip olduğu anlamına da gelir ki Rails tutoriallarında yeni sayfa (yani resource) oluşturduktan sonra Rails kod yapısı içinde respond_to diye bir metod ile "respond_to :html" şeklinde çağrı ile resource'un html sayfasına dönüşeceği belirtilir. Aynı resource Atom Feed gibi istemci tarafından da kullanılacaksa, "respond_to :html, :atom" şeklinde eklenir. Yani REST API programcı için işleri kolaylaştırır.

Çok teşekkürler..



B
8 yıl
Yüzbaşı

Merhaba,
REST konusuna bir iki ufak ekleme yapmak istiyorum.
Rest temel olarak sunucu/istemci arasinda veri transfer etmek icin duzenlenmis bir protokoldur. Eskiden sunucu/istemci arasinda veri transferi yok muydu tabi ki vardi ama bu isleri belirli bir duzene/standarda oturtup kolayce halletmek icin ortaya cikmistir. Genelde web servisler icin kullanilir. Web servislerde kullanilan bir baska yontem de SOAP ki ikisi arasindaki farklardan da biraz bahsedersek neden kullanildigi/populer oldugu biraz daha ortaya cikar. Bundan sonraki kisimda tam turkce karsiligini bilmedigim icin ingilizce terimler kullanacagim kusura bakmayin.

Oncelikle rest'in acilimi "representational state transfer" kisaca her unique url bir objenin/verinin temsili olmasi gerekli.

rest api lerde json kullanmak zorunda degilsiniz. json bir veri gosterim formatidir, revivo da aciklamis zaten guzelce. islenmesi/yaratilmasi kolay ve hizli oldugundan populer bir formattir.
Rest'te sadece http protokolu uzerinden iletisim kurabilirsiniz, soap tcp/udp/smtp kullanabilir kullanilabilir.
Rest request yapildiginda client-server arasinda content negotiation yapilir oncelikle. Client http request yaptiginda header'da "accept" ile hangi formatta veri istedigini belirtir. application/json, application/xml, text/plain gibi. Sunucu bu veri tipine cevap verebiliyorsa istegi kabul eder. Ardindan yine request headerdaki 'content-type" a bakar ki request body'de ne geliyor bilip islesin diye.
Ardindan body alinir islenir ve response olusturduktan sonra response tipini bu sefer response header'a "content-type" olarak yazar ki client alip veriyi isleyebilsin.
SOAP'da ise hem request hem de response xml formatindadir.

Rest protokolunda http metodlarini kullanabilirsiniz. Ayni url icin farkli metodlarla farkli islemler yapabilirsiniz. Ornegin bir alisveris sepetiniz olsun site.com/basket diye bir url'iniz oldugunuzu fazediyorum. GET: listeleme
POST: ekleme
PUT: guncelleme
DELETE: silme

fonksiyonlari ile ilgili islemleri yapabilirsiniz. SOAP sadece POST metodu kullanir. HEAD, OPTIONS, CONNECT, TRACE metodlari da nadiren kullanilabilir.

Rest staless calisir. Tam turkce karsiligi ne bilmiyorum ama kisaca her request-response birbirinden bagimsizdir. client - server arasinda herhangi bir state tutulmaz session gibi. sunucu icin her client aynidir, herkese ayni muamele yapilir.

Rest daha kolay cache'lenebilir ( cok kotu turkce oldu malesef ) bunun icin yine if-modified-since, expires, last-modified gibi http headerlari uzerinden anlasilarak yapilir bu.


Bu mesaja 1 cevap geldi.

Bu mesajda bahsedilenler: @revivo72
B
8 yıl
Teğmen
Konu Sahibi

Eline sağlık hocam. Bir de ufak bir sorum. Benim rest kullanabilmem için karşı tarafın benimle apilerini paylaşması gerekiyor değil mi? Kafama göre istediğim yerden istediğim şeyi çekemiyorum.


Bu mesaja 1 cevap geldi.

Bu mesajda bahsedilenler: @bestanealtcizgi
B
8 yıl
Yüzbaşı

Tekrar merhaba,
rest protokolunda soap'ta oldugu gibi servislerin tanimlarinin bulundugu bir wsdl dokumani olmadigi icin ( wadl diye birsey uydurdular tutmadi ) genelde bu api'yi hazirlayanlar nasil kullanilacagina dair bir dokuman da paylasir. Ornek olarak twitter api dokumanina bakabilirsinizhttps://dev.twitter.com/rest/public
herkes api'lerini public acmadigi icin bu kadar detayli dokuman hazirlamiyor ki bunlarin guncellenmesi versiyonlanmasi da ayri bir mesele. bu yuzden genel api dokumani yazildiktan sonra end-point ler kodlanirken bazi annotationlar ile inline documentation da yazilip bu end-pointler'in metodlari, url bilgileri ( path ve query parameter bilgileri genelde ), request/response veri yapilari icin kullanici ara yuzu hazirlayan plug-in ler var. ornek olarak swagger'a bakabilirsiniz.
ayrica yine authorization&authentication icin sifre, token vs. de paylasabilirler.

aslinda rest api'ler sensible ( hissedilebilir, anlasilabilir ) tasarlanmasi gerektiginden ( ideal dunyada ) url leri ve temel kullanimi anladiysaniz gerisini kolayca cozebilirsiniz.

yari turkce yari ingilizce oldu kusura bakmayin lutfen.
'


Bu mesaja 1 cevap geldi.

Bu mesajda bahsedilenler: @Brokereren55
F
8 yıl
Yarbay

hocam merhaba ,

www.xxxxx.com/bestanealtcizgi

örnegın burada kullanıcı adınızı yazdım bana toplam mesaj sayınız hangı yılda uye olmussunuz falan bu bılgılerı getıren bır web service metodu yazdım
peki yeni bir kullanıcı eklemek ıcın bır metod yazmam lazım ben debu konuda sıkıntı cekıyorum. Bunu ne sekılde yapabılırım
ornegın bır projede bu web service kullanıcı adı ve sıfre strıngı gonderecegım bunu verıtabanına ekleyecek.GET metodu tamam da POST metodu sıkıntı çıkardı bende





< Bu mesaj bu kişi tarafından değiştirildi flowerhorn -- 15 Eylül 2016; 22:53:11 >

< Bu ileti mobil sürüm kullanılarak atıldı >
Bu mesaja 1 cevap geldi.

Bu mesajda bahsedilenler: @bestanealtcizgi
B
8 yıl
Yüzbaşı

merhaba,
post methodunda ne sikinti yasadiniz?
genelde yasanan sikinti post ile gonderdiginiz content type ise post metodunu alan end-point in accept taypi tutmali.
rest kullandiginiza gore json post ettiginizi varsayiyorum, post requestinde content-type='application/json' request header'i gonderin, end poinst te ise accept type olarak yine aynisini belirleyin.
eger 400, 406 gibi response lar aliyorsaniz muhtemel bu yuzdendir.




Bu mesajda bahsedilenler: @flowerhorn
DH Mobil uygulaması ile devam edin. Mobil tarayıcınız ile mümkün olanların yanı sıra, birçok yeni ve faydalı özelliğe erişin. Gizle ve güncelleme çıkana kadar tekrar gösterme.