You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

1.7 KiB

Yanıt - Durum Kodunu Değiştirme

Muhtemelen daha önce varsayılan bir Yanıt Durum Kodu{.internal-link target=_blank} belirleyebileceğinizi okumuşsunuzdur.

Ancak bazı durumlarda varsayılan durum kodundan farklı bir durum kodu döndürmeniz gerekebilir.

Kullanım Senaryosu

Diyelim ki, varsayılan olarak her şeyin yolunda olduğunu belirten 200 HTTP durum kodunu döndürmek istiyorsunuz.

Ancak veri mevcut değilse, oluşturmak ve "Oluşturuldu" anlamına gelen 201 HTTP durum kodunu döndürmek istiyorsunuz.

Ancak yine de döndürdüğünüz verileri bir response_model ile filtrelemek ve dönüştürmek istiyorsunuz.

Bu durumlar için bir Response parametresi kullanabilirsiniz.

Bir Response Parametresi Kullanın

yol operasyonu fonksiyonunuzda Response türünde bir parametre belirleyebilirsiniz (çerezler ve headers için yapabileceğiniz gibi).

Ardından geçici yanıt nesnesinde status_code belirtebilirsiniz.

{!../../../docs_src/response_change_status_code/tutorial001.py!}

Sonunda normalde döndürdüğünüz gibi herhangi bir nesneyi döndürebilirsiniz (bir dict, bir veritabanı modeli, vb).

Eğer bir response_model belirlediyseniz, döndürdüğünüz nesneyi filtrelemek ve dönüştürmek için kullanılacaktır.

FastAPI bu geçici yanıtı durum kodunu (ayrıca çerezleri ve headers'ı) çıkarmak için kullanacak ve döndürdüğünüz değeri herhangi bir response_model tarafından filtreleyerek son yanıta koyacaktır.

Bağımlılıklarda da Response parametresini belirtebilir ve durum kodunu belirleyebilirsiniz. Ancak son belirlenen durum kodu kullanılacaktır.