10 puan yazan xguru 2021-04-16 | 9 yorum | WhatsApp'ta paylaş
  • IETF'ye yeni bir Draft olarak eklenen SEARCH metodunun tanıtımı

  • Karmaşık verileri getirmek için mevcut GET/POST tek başına verimsiz kalıyor

SEARCH /customers HTTP/1.1

Host: example.com

Content-Type: application/sql

SELECT username, email

WHERE DATEDIFF(DAY, GETDATE(), signup_date) > 7

  • Pratikte SQL cümlelerinin standart olarak kullanılacağı anlamına gelmiyor; istek gövdesinde arama için bu tür içeriklerin taşınabilmesi anlamına geliyor

  • Böylece tek bir URL için GET, POST ve SEARCH'in hepsi mümkün hale geliyor

  • Accept-Search başlığı üzerinden aramada kullanılacak formatlar belirtilebiliyor:

→ Accept-Search: application/sql, application/graphql

  • WebDAV'da yer alan SEARCH metodu standardını temel alıyor (rfc5323)

9 yorum

 
beejei 2021-04-17

OData, neredeyse benzer şekilde bu tür sorgulama yapan bir standart. Ama application/sql ve application/graphql'ın aynı endpoint'te de kullanılabileceği söylenince... bunu gözümde canlandırmak biraz zor.

 
luavis 2021-04-16

Kullanım amacı açısından, SQL'i doğrudan çalıştırmak sorunlu olduğunda ve Elasticsearch'teki gibi anlamsal olarak GET olsa da HTTP Body ekleyerek sorgulama yapmak istendiğinde kullanılabilecek bir şey gibi görünüyor.

 
tmptmp 2021-04-16

Yazının giriş kısmında “it was recently adopted as an IETF draft standard” deniyor; burada sözü edilen “recently” gerçekten 2015 mi? Benim gördüğüm taslak şu: https://tools.ietf.org/html/draft-snell-search-method-00, bu yüzden acaba daha yeni bir değişiklik var mı diye merak ettim.

 
xguru 2021-04-16

https://datatracker.ietf.org/doc/… adresinde.

Görünüşe göre yakın zamanda, 2021-03-31 tarihinde yüklenmiş.

 
tkwlsrl 2021-04-16

Gövdede bilgi gönderilecekse PUT ya da POST kullanmak gerekir.

Bunlarda cache kullanılamadığı için

SEARCH diye bir şey de kullanılabilir gibi görünüyor.

Nasıl olsa sadece accept edildiği durumda gönderilirse yeterli.

 
lallablah 2021-04-16

get ve post'un yarattığı rahatsızlığı iyileştirme yönüyle bakınca akla GraphQL geliyor

 
superwoou 2021-04-16

Sorguyu request body ile göndermeye başlayınca, bir noktada (çok da düşünülmeden yapılmış bir siteyse) SQL Injection gibi sorunlar çıkacakmış gibi bir his oluşuyor..

 
andrewchaa 2021-04-16

Sanırım bunu body’si olan bir GET gibi anlamak mümkün. Zaten body için doğrulama yapmak gerekecek...

 
alstjr7375 2021-04-16

Öyle işte..