10 poin oleh xguru 2021-04-16 | 9 komentar | Bagikan ke WhatsApp
  • Pengenalan metode SEARCH yang ditambahkan sebagai draft baru di IETF

  • Untuk mengambil data yang kompleks, hanya menggunakan GET/POST yang ada selama ini tidak efisien

SEARCH /customers HTTP/1.1

Host: example.com

Content-Type: application/sql

SELECT username, email

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

  • Ini bukan berarti pernyataan SQL benar-benar digunakan sebagai standar, melainkan konten seperti ini untuk pencarian bisa dimasukkan ke dalam request body

  • Dengan ini, untuk satu URL yang sama, GET, POST, dan SEARCH semuanya menjadi bisa digunakan

  • Melalui header Accept-Search, format yang digunakan untuk pencarian dapat ditentukan :

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

  • Berdasarkan standar metode SEARCH yang ada di WebDAV (rfc5323)

9 komentar

 
beejei 2021-04-17

OData adalah spesifikasi untuk melakukan kueri dengan cara yang hampir mirip seperti ini. Namun, bisa menggunakan application/sql dan application/graphql pada endpoint yang sama.. agak sulit dibayangkan.

 
luavis 2021-04-16

Kegunaannya sendiri tampaknya untuk kasus ketika mengeksekusi SQL secara langsung itu bermasalah, dan seperti Elasticsearch, secara semantik ini adalah GET, tetapi kita ingin melakukan kueri dengan menyertakan HTTP Body.

 
tmptmp 2021-04-16

Pada bagian awal tulisan disebutkan "it was recently adopted as an IETF draft standard", apakah yang dimaksud dengan recently di sini memang tahun 2015? Draf yang saya lihat adalah https://tools.ietf.org/html/draft-snell-search-method-00, jadi saya penasaran apakah ada perubahan yang lebih baru.

 
xguru 2021-04-16

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

Baru-baru ini diunggah pada 2021-03-31.

 
tkwlsrl 2021-04-16

Kalau ingin mengirim informasi di body, sepertinya harus memakai PUT atau POST.

Keduanya tidak bisa menggunakan cache, jadi

mungkin juga bisa memakai yang namanya SEARCH.

Bagaimanapun, cukup kirim hanya saat sudah di-accept.

 
lallablah 2021-04-16

Mengingat arah untuk memperbaiki ketidaknyamanan pada get dan post, saya jadi teringat GraphQL.

 
superwoou 2021-04-16

Begitu mulai mengirim kueri lewat request body, rasanya pada suatu saat nanti bisa muncul masalah seperti SQL Injection (kalau situsnya dibuat tanpa banyak dipikirkan)..

 
andrewchaa 2021-04-16

Sepertinya bisa dipahami sebagai semacam GET dengan body. Bagaimanapun, validasi untuk body tetap harus dilakukan...

 
alstjr7375 2021-04-16

Begitulah..