Cara Memposting dan Mengirim Data JSON di Flask

Pelajari Flask (Python) untuk menangani data JSON via HTTP POST. Gunakan Apidog untuk desain & uji API REST Python Anda.

Ardianto Nugroho

Ardianto Nugroho

8 July 2025

Cara Memposting dan Mengirim Data JSON di Flask

Flask adalah framework web Python populer yang digunakan untuk membangun aplikasi web. Salah satu tugas paling umum saat membangun aplikasi web adalah mengirim data dari klien ke server. Ini biasanya dilakukan menggunakan metode HTTP POST. JSON (JavaScript Object Notation) adalah format pertukaran data ringan yang umum digunakan untuk mengirim data melalui internet.

Dalam postingan ini, kita akan menjelajahi cara menggunakan Flask untuk menangani data JSON yang dikirim melalui metode HTTP dan menemukan cara menggunakan Apidog, platform lengkap yang memfasilitasi pengembangan API yang efisien, untuk mendesain dan menguji REST API Python Anda

💡
Apidog adalah alat berbasis web yang membantu Anda menguji dan men-debug API. Ini memungkinkan Anda mengirim permintaan HTTP ke titik akhir API mana pun dan mendapatkan respons dalam berbagai format, seperti JSON, XML, HTML, dll.
Anda juga dapat memeriksa header, cookie, kode status, dan detail respons lainnya. Apidog juga memungkinkan Anda memanipulasi data respons menggunakan JavaScript, memfilter data menggunakan JSONPath, dan memvalidasi data menggunakan JSON Schema.
button

Data JSON

JSON (JavaScript Object Notation) adalah format pertukaran data ringan yang umum digunakan untuk mengirim data melalui internet. Ini didasarkan pada subset dari bahasa pemrograman JavaScript, tetapi dapat digunakan dengan bahasa pemrograman apa pun.

Salah satu keuntungan menggunakan JSON adalah mudah dibaca dan ditulis. Data JSON direpresentasikan sebagai pasangan kunci-nilai, yang membuatnya mudah dipahami dan digunakan. JSON dapat merepresentasikan enam jenis data secara native: string, angka, boolean, null, array, dan objek. Misalnya, berikut adalah representasi JSON dari postingan blog:

{
  "id": 1001,
  "title": "What is JSON?",
  "author": {
    "id": 1,
    "name": "James Walker"
  },
  "tags": [
    "api",
    "json",
    "programming"
  ],
  "published": false,
  "publishedTimestamp": null
}

Contoh ini menunjukkan semua tipe data JSON. Ini juga menggambarkan keringkasan data berformat JSON, salah satu karakteristik yang membuatnya sangat menarik untuk digunakan dalam API.

Metode HTTP POST

Metode HTTP POST adalah salah satu metode HTTP yang paling umum digunakan untuk mengirim data dari klien ke server. Ketika klien mengirim permintaan HTTP POST, ia menyertakan badan pesan yang berisi data yang dikirim. Data ini dapat dalam berbagai format, termasuk JSON.

Dengan menggunakan JSON, pengembang dapat memastikan bahwa data yang dikirim ke server terorganisir dengan baik dan mudah dipahami, sehingga meningkatkan efisiensi pembuatan dan pembaruan sumber daya.

Apa itu Flask dan Mengapa Anda Harus Menggunakannya?

Flask adalah framework web ringan yang ditulis dalam Python. Ini dirancang agar sederhana dan mudah digunakan, sambil tetap menyediakan semua fitur yang Anda butuhkan untuk membangun aplikasi web modern.

Flask dibangun di atas toolkit Werkzeug WSGI dan mesin template Jinja2. Ini menyediakan API yang sederhana dan intuitif untuk menangani permintaan dan respons HTTP.

FLASK

Salah satu fitur utama Flask adalah dukungannya untuk menangani data JSON. Flask menyediakan cara sederhana untuk mengurai data JSON yang dikirim melalui metode HTTP POST. Ini memudahkan untuk membangun aplikasi web yang dapat menerima data JSON dari klien.

Instalasi Flask

Flask adalah microframework berbasis Python, jadi Anda harus menginstal Python di komputer Anda. Anda dapat mengunduh versi terbaru Python dari situs web resminya:

Buat lingkungan virtual: Merupakan praktik yang baik untuk membuat lingkungan virtual untuk proyek Anda untuk menghindari konflik dengan proyek Python lainnya. Anda dapat membuat lingkungan virtual menggunakan modul venv yang disertakan dengan Python. Berikut cara Anda dapat membuat lingkungan virtual:

$ python3 -m venv myenv

Ini akan membuat direktori baru bernama myenv di direktori Anda saat ini.

Aktifkan lingkungan virtual: Setelah Anda membuat lingkungan virtual, Anda perlu mengaktifkannya. Berikut cara Anda dapat mengaktifkan lingkungan virtual:

$ source myenv/bin/activate

Instal Flask: Dengan lingkungan virtual diaktifkan, Anda sekarang dapat menginstal Flask menggunakan pip, pengelola paket Python. Berikut cara Anda dapat menginstal Flask:

$ pip install Flask

Ini akan menginstal Flask dan dependensinya.

Verifikasi instalasi: Untuk memverifikasi bahwa Flask telah diinstal dengan benar, Anda dapat membuat file baru bernama app.py dengan konten berikut:

from flask import Flask

app = Flask(__name__)

@app.route('/')
def hello_world():
    return 'Hello, World!'

if __name__ == '__main__':
    app.run()

Simpan file dan jalankan menggunakan perintah berikut:

$ flask run

Ini akan memulai server pengembangan lokal di http://localhost:5000. Buka browser web Anda dan navigasikan ke http://localhost:5000. Anda akan melihat pesan yang bertuliskan "Hello, World!".

Menangani Permintaan JSON di Flask

Untuk menangani data JSON di Flask, Anda perlu menggunakan objek request. Objek request disediakan oleh Flask dan berisi semua data yang dikirim dalam permintaan HTTP. Untuk mengurai data JSON, Anda dapat menggunakan atribut json dari objek request.

Mendapatkan Data JSON di Flask

Untuk mengakses data JSON yang dikirim oleh klien, Anda dapat menggunakan atribut json objek request atau metode get_json(). Keduanya mengembalikan kamus atau daftar Python yang mewakili data JSON yang diurai.

Perbedaannya adalah bahwa atribut json akan memunculkan pengecualian jika data bukan JSON yang valid, sedangkan metode get_json() akan mengembalikan None dalam kasus itu. Anda juga dapat meneruskan parameter force ke metode get_json() untuk memaksa penguraian data sebagai JSON, terlepas dari jenis konten.

Berikut adalah contoh penangan rute sederhana yang menerima permintaan POST dengan data JSON dan mencetaknya ke konsol:

from flask import Flask, request

app = Flask(__name__)

@app.route('/json', methods=['POST'])
def json():
    # Dapatkan data JSON dari permintaan
    data = request.get_json()
    # Cetak data ke konsol
    print(data)
    # Kembalikan pesan sukses
    return 'JSON received!'

Jenis konten permintaan penting karena memberi tahu Flask cara mengurai data. Jika jenis konten adalah application/json, Flask akan secara otomatis mengurai data sebagai JSON dan membuatnya tersedia melalui atribut json atau metode get_json().

Jika jenis konten tidak ditentukan atau sesuatu yang lain, Flask tidak akan mengurai data sebagai JSON kecuali Anda menggunakan parameter force dari metode get_json(). Oleh karena itu, disarankan untuk mengatur jenis konten ke application/json saat mengirim data JSON ke Flask, atau untuk menangani kasus di mana jenis konten tidak benar atau data bukan JSON yang valid.

Mengirim Respons JSON ke Klien

Untuk membuat dan mengembalikan respons JSON menggunakan fungsi jsonify() dari Flask, Anda perlu mengimpor fungsi dari modul flask dan meneruskan kamus atau daftar Python sebagai argumen. Fungsi tersebut akan mengonversi objek Python menjadi string JSON dan mengatur jenis konten respons menjadi application/json. Dengan cara ini, klien dapat dengan mudah mengurai data JSON dan menggunakannya untuk tujuan mereka.

Berikut adalah contoh penangan rute sederhana yang mengirim respons JSON dengan beberapa data kembali ke klien:

from flask import Flask, jsonify

app = Flask(__name__)

@app.route('/data')
def data():
    # Buat kamus Python dengan beberapa data
    data = {
        'name': 'Bing',
        'age': 10,
        'hobbies': ['searching', 'chatting', 'learning']
    }
    # Kembalikan respons JSON menggunakan fungsi jsonify()
    return jsonify(data)

Fungsi jsonify() memiliki beberapa parameter opsional yang dapat memengaruhi pemformatan dan pengurutan output JSON. Misalnya, Anda dapat menggunakan parameter sort_keys untuk mengurutkan kunci objek JSON menurut abjad, atau parameter indent untuk menambahkan indentasi dan baris baru ke string JSON. Parameter ini dapat membuat output JSON lebih mudah dibaca dan konsisten, tetapi juga dapat meningkatkan ukuran respons.

Cara POST Data JSON dengan Apidog

Apidog adalah alat yang hebat untuk siapa saja yang bekerja dengan API, baik Anda seorang pengembang, penguji, desainer, atau pelajar. Ini membantu Anda untuk:

button

Untuk menguji Flask API Anda yang dapat mengirim dan menerima data JSON menggunakan Apidog, Anda perlu mengikuti langkah-langkah berikut:

Anda sekarang telah menguji FlaskAPI Anda yang dapat mengirim dan menerima data JSON menggunakan Apidog. Anda juga dapat menguji titik akhir dan metode API lainnya menggunakan langkah-langkah yang sama. Anda juga dapat menggunakan Apidog untuk menguji API lain yang Anda temukan secara online atau buat sendiri. Apidog adalah alat serbaguna dan ampuh yang dapat membantu Anda dengan tugas terkait API apa pun. Anda dapat mempelajari lebih lanjut tentang Apidog dan fitur serta alatnya dari situs web resminya:

button

Kesimpulan

Dalam postingan ini, kita telah mempelajari cara menangani permintaan JSON di Flask, micro-framework populer untuk pengembangan web di Python. Kita telah melihat cara untuk:

button

Explore more

Cara Menggunakan Lovable AI (Alternatif Cursor untuk Pengembang Web)

Cara Menggunakan Lovable AI (Alternatif Cursor untuk Pengembang Web)

Pelajari cara buat web apa pun dgn Lovable. Panduan lengkap, fitur inovatif, & integrasi Apidog (API gratis).

15 April 2025

Cara Menambahkan Kunci API Kustom ke Cursor: Panduan Komprehensif

Cara Menambahkan Kunci API Kustom ke Cursor: Panduan Komprehensif

Tutorial ini memandu Anda menyiapkan & mengelola API key khusus di Cursor: OpenAI, Anthropic, Google, & Azure.

11 April 2025

Cara Menggunakan NVIDIA Llama Nemotron API untuk Agen AI Tingkat Lanjut

Cara Menggunakan NVIDIA Llama Nemotron API untuk Agen AI Tingkat Lanjut

Pelajari API NVIDIA Llama Nemotron utk buat agen AI canggih.

11 April 2025

Mengembangkan API dengan Apidog

Apidog adalah alat pengembangan API yang membantu Anda mengembangkan API dengan lebih mudah dan efisien.