Methodlar ve istek semantiği
GET gövdesi, PUT ve PATCH nüansları
Framework kabul ediyor diye taşınabilir değildir.
Kavramı anlayalım
GET request content için genel olarak tanımlı bir anlam yoktur. Ara katmanlar ve istemciler bunu reddedebilir veya dikkate almayabilir; Fetch gibi API’ler GET/HEAD gövdesine izin vermez. Filtreleri query ile taşı veya karmaşık arama için açık POST arama sözleşmesi tasarla.
PUT bütün kaynağın temsilini değiştirme niyeti taşır; bazı alanların server tarafından yönetilmesi sözleşmede açıklanmalıdır. PATCH kısmi değişim içindir; JSON Patch ile JSON Merge Patch aynı format değildir. null, silme ve liste işlemlerinin anlamı seçilen formatta farklıdır.
PATCH atomik uygulanmalıdır; başarısız bir patch’in yarısını commit etmek uygun değildir. Eşzamanlı düzenlemede ETag ve If-Match ile kayıp güncellemeyi önle. API’de “her şey POST olsun” yaklaşımı bazı ara katman davranışlarını ve sözleşme açıklığını kaybettirir.
Farklı istemci ve proxy’lerle çalışan API’ler için.
JSON olan her patch belgesini aynı sanmak.
Aynı konu. Üç farklı derinlik.
GET /products?category=books HTTP/1.1
Host: example.testBasit filtre query’dedir.
Bu sayfa dış sunuculara istek göndermez. HTTP mesajları temsili, HTTP/1.1 biçiminde okunabilir gösterimlerdir; HTTP/2 ve HTTP/3 wire formatı değildir. example.test ayrılmış öğretim alan adıdır. Komut ve JavaScript örneklerini yalnız kendi test ortamında uygula; gerçek token veya cookie yayımlama.
Önce kendin dene.
Tarayıcı Fetch ile GET gövdesi göndererek filtreleme yapmalı mısın?
Çözümü ve açıklamasını göster
GET query or documented POST searchHayır; istemci kısıtlarını ve HTTP anlamını gözet.