Ana içeriğe geç

HTTP istekleri (fetch)

Fetch API sizin Deno Deploy'de dışa HTTP istekleri yapmanızı sağlar. Bu bir web standardıdır ve aşağıdaki arayüzlere sahiptir:

  • fetch() - Dışa HTTP istekleri yapmanızı sağlayan metot
  • Request - fetch()'in bir istek kaynağını temsil eder
  • Response - fetch()'in bir yanıt kaynağını temsil eder
  • Headers - İsteklerin ve yanıtların HTTP Başlıklarını temsil eder.

Bu sayfa fetch() metodunun kullanımını gösterir. Daha fazlasını öğrenmek için yukarıdaki diğer arayüzlere tıklayabilirsiniz.

Fetch ayrıca statik dosyaları almak için dosya URL'lerinden alma işlemini destekler. Statik dosyalar hakkında daha fazla bilgi için filesystem API belgelerine bakın.


fetch()

fetch() metodu, sağlanan kaynağa bir ağ isteği başlatır ve yanıt mevcut olduğunda çözülen bir promise döner.

function fetch(
resource: Request | string,
init?: RequestInit,
): Promise<Response>;

Parametreler

adıtüristeğe bağlıaçıklama
resourceRequest USVStringfalseKaynak, bir istek nesnesi veya bir URL dizgesi olabilir.
initRequestInittrueInit nesnesi, isteğe bağlı parametreleri isteğe uygulamanıza olanak tanır.

fetch()'in dönüş tipi, bir Response döndüren bir promise'dir.

ipucu

fetch() metodunu kullanarak dışa HTTP istekleri yaparken, yanıtın formatına dikkat etmek önemlidir.

Örnekler

Aşağıdaki Deno Deploy betiği, her gelen istek için GitHub API'ye bir fetch() isteği yapar ve ardından yanıtı işleyici fonksiyonundan döndürür.

async function handler(req: Request): Promise<Response> {
const resp = await fetch("https://api.github.com/users/denoland", {
// Buradaki init nesnesi, hangi türde bir yanıt kabul ettiğimizi
// belirten başlıkları içeren bir başlık nesnesine sahiptir.
// Fetch varsayılan olarak GET isteği yaptığı için method alanını
// belirtmiyoruz.
headers: {
accept: "application/json",
},
});
return new Response(resp.body, {
status: resp.status,
headers: {
"content-type": "application/json",
},
});
}

Deno.serve(handler);
bilgi

Daha fazla bilgi için Fetch API belgelerine göz atabilirsiniz.