Go Resty
Go Resty, RESTful API istemcileri oluşturmak için kullanılan bir Go dil kütüphanesidir. Geliştiricilere HTTP isteklerini kolayca gönderme ve yanıtları işleme imkanı sağlayan özlü ve güçlü bir API sunar.
Özellikler
- GET, POST, PUT, DELETE, HEAD, PATCH, OPTIONS ve diğer istek yöntemlerini destekler
- Basit ve zincirlenebilir ayarlar ve istek yöntemleri
- İstek gövdesi
string,[]byte,struct,map,sliceveio.Readertüründe olabilir- Otomatik olarak
Content-Typetespiti yapar -
io.Readeriçin önbelleksiz işleme kullanır - Middleware ve istek yürütme sırasında orijinal
*http.RequestörneğineRequest.RawRequestüzerinden erişim sağlar -
Request.RawRequest.GetBody()ile istek gövdesinin çoklu okumasına izin verir
- Otomatik olarak
- Yanıt nesnesi ile daha fazla olasılık sağlar
- Yanıtı
[]bytedizisi olarak alır -response.Body(), veyastringolarak alır -response.String() - Yanıt süresini
response.Time()ve alındığı zamanıresponse.ReceivedAt()alır
- Yanıtı
- Otomatik olarak
JSONveXMLgibi içerik türlerini kodlar ve çözer-
Content-Typebaşlığı vestruct/mapparametreleri sağlanmazsa varsayılan olarakJSONkullanır - JSON kodlama/çözme ve XML kodlama/çözme geçersiz kılma seçenekleri sunar
-
-
multipart/form-dataile kolayca bir veya daha fazla dosya yükler- Dosyaların içerik türünü otomatik olarak algılar
- İade deneme mekanizması ve deneme koşul fonksiyonu referansları için destek sağlar
- Resty istemcisinde HTTP ve REST istekleri için Middleware desteği, Request ve Response dahil
-
Request.SetContextdesteği -
BasicAuthveBearertokenları için yetkilendirme seçenekleri - Tüm istekler veya belirli istekler için istek
ContentLengthdeğerini ayarlar - Özel kök sertifikaları ve istemci sertifikaları
-
curl -okomutuna benzer şekilde HTTP yanıtlarını doğrudan indirme/kaydetme - Çerezler için Request ve CookieJar desteği
- Host URL yerine SRV kayıtlarına dayalı istekler
-
Timeout,RedirectPolicy,Proxy,TLSClientConfig,Transportvb. gibi istemci ayarları - Resty tasarımı
- İstemci düzeyinde ayarlama ve seçme, istek düzeyinde geçersiz kılma seçeneği
- İstekler ve yanıtlar için Middleware
- Gerektiğinde
resty.New()kullanarak birden fazla istemci oluşturmasına olanak tanır
- Eşzamanlılık için Goroutine güvenli
- Hata ayıklama modu - net ve zengin günlük görüntüleme
- Gzip - Go tarafından otomatik olarak ele alınır, Resty'de yedek işleme sağlar
-
HTTP/2veHTTP/1.1ile uyumludur - Bazel desteği
- Resty'nin test edilmesi için kolay alay konusu sağlar
Desteklenen Go Sürümleri
go1.16 ve üstünün kullanılması önerilir.
v1.10.0 sürümünden itibaren Resty, go modüllerini destekler.
Resty v2 sürümünden itibaren tamamen go modülleri paketi yayınlamayı destekler. /vN soneki içeren alımları anlayabilen bir Go sürümünün kullanılmasını gerektirir:
- 1.9.7+
- 1.10.3+
- 1.11+