Lewati ke isi

Pengembangan Skrip / Data Respons DFF.RESP

Respons JSON atau teks biasa dapat langsung return. Saat perlu mengontrol kode status HTTP, Header, nama file unduhan, atau tipe konten, gunakan DFF.RESP(...).

File disk sebaiknya menggunakan DFF.RESP_FILE(...), dan data tingkat MB sebaiknya menggunakan DFF.RESP_LARGE_DATA(...).

Parameter

Parameter Tipe Wajib / Nilai Default Deskripsi
data Nilai yang dapat diserialisasi JSON apa pun Wajib Isi respons
status_code int 200 Kode status HTTP
content_type str None Jenis isi respons, misalnya json, text, html
headers dict None Header respons tambahan, tidak perlu menyertakan Content-Type
allow_304 bool False Apakah mengizinkan browser menggunakan cache 304
download bool / str False True menghasilkan nama file default, string menentukan nama file; setelah diaktifkan content_type tidak berlaku lagi
Contoh
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
def html_response():
    return DFF.RESP('<h1>Hello</h1>', content_type='html')

def json_response():
    return DFF.RESP('{"hello": "world"}', content_type='json')

def download_response():
    return DFF.RESP('Some text', download='article.txt')

def header_response():
    return DFF.RESP('ok', headers={'X-Author': 'Tom'})

def not_found_response():
    return DFF.RESP({'error': 'not found'}, status_code=404)

Saat membuat respons, akan diverifikasi apakah data dapat diserialisasi. Jika serialisasi gagal, atau menggunakan download bersama data=None, maka respons Func akan gagal.

Objek respons yang dibuat oleh DFF.RESP(...) harus dikembalikan secara langsung; jika disematkan ke dalam dictionary atau daftar lain, kode status, Header, atau tipe konten tidak akan diterapkan.

Warning

allow_304=True dapat membuat klien mendapatkan konten cache, sebaiknya tidak diaktifkan saat data sering berubah. Header respons kustom tidak boleh berisi kunci atau informasi sensitif lainnya.