Response Cookie'leri¶
🌐 Yapay Zekâ ve İnsanlar Tarafından Çeviri
Bu çeviri, insanlar tarafından yönlendirilen bir yapay zekâ ile oluşturuldu. 🤝
Orijinal anlamın yanlış anlaşılması ya da kulağa doğal gelmeme gibi hatalar içerebilir. 🤖
Yapay zekâ LLM'ini daha iyi yönlendirmemize yardımcı olarak bu çeviriyi iyileştirebilirsiniz.
BirResponse parametresi kullanın¶
Path operation function içindeResponse tipinde bir parametre tanımlayabilirsiniz.
Ardından bugeçici response nesnesi üzerinde cookie'leri set edebilirsiniz.
fromfastapiimportFastAPI,Responseapp=FastAPI()@app.post("/cookie-and-object/")defcreate_cookie(response:Response):response.set_cookie(key="fakesession",value="fake-cookie-session-value")return{"message":"Come to the dark side, we have cookies"}Sonrasında normalde yaptığınız gibi ihtiyaç duyduğunuz herhangi bir nesneyi döndürebilirsiniz (birdict, bir veritabanı modeli vb.).
Ayrıca birresponse_model tanımladıysanız, döndürdüğünüz nesneyi filtrelemek ve dönüştürmek için yine kullanılacaktır.
FastAPI, bugeçici response'u cookie'leri (ayrıca header'ları ve status code'u) çıkarmak için kullanır ve bunları, döndürdüğünüz değeri içeren nihai response'a ekler. Döndürdüğünüz değer, varsaresponse_model ile filtrelenmiş olur.
Response parametresini dependency'lerde de tanımlayıp, onların içinde cookie (ve header) set edebilirsiniz.
Doğrudan birResponse döndürün¶
Kodunuzda doğrudan birResponse döndürürken de cookie oluşturabilirsiniz.
Bunu yapmak için,Doğrudan Response Döndürme bölümünde anlatıldığı gibi bir response oluşturabilirsiniz.
Sonra bunun içinde Cookie'leri set edin ve response'u döndürün:
fromfastapiimportFastAPIfromfastapi.responsesimportJSONResponseapp=FastAPI()@app.post("/cookie/")defcreate_cookie():content={"message":"Come to the dark side, we have cookies"}response=JSONResponse(content=content)response.set_cookie(key="fakesession",value="fake-cookie-session-value")returnresponseTip
Response parametresini kullanmak yerine doğrudan bir response döndürürseniz, FastAPI onu olduğu gibi (doğrudan) döndürür.
Bu yüzden, verinizin doğru tipte olduğundan emin olmanız gerekir. ÖrneğinJSONResponse döndürüyorsanız, verinin JSON ile uyumlu olması gerekir.
Ayrıcaresponse_model tarafından filtrelenmesi gereken bir veriyi göndermediğinizden de emin olun.
Daha fazla bilgi¶
Teknik Detaylar
from starlette.responses import Response veyafrom starlette.responses import JSONResponse da kullanabilirsiniz.
FastAPI, geliştirici olarak size kolaylık olması içinfastapi.responses içindestarlette.responses ile aynı response sınıflarını sunar. Ancak mevcut response'ların büyük kısmı doğrudan Starlette'ten gelir.
VeResponse, header ve cookie set etmek için sık kullanıldığından,FastAPI bunufastapi.Response olarak da sağlar.
Mevcut tüm parametreleri ve seçenekleri görmek içinStarlette dokümantasyonuna bakın.







