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 metotRequest
- fetch()'in bir istek kaynağını temsil ederResponse
- fetch()'in bir yanıt kaynağını temsil ederHeaders
- İ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ür | isteğe bağlı | açıklama |
---|---|---|---|
resource | Request USVString | false | Kaynak, bir istek nesnesi veya bir URL dizgesi olabilir. |
init | RequestInit | true | Init 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.
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);
Daha fazla bilgi için Fetch API belgelerine göz atabilirsiniz.