Flask'ta JSON Verisi Nasıl Gönderilir ve Yayınlanır

Flask ile JSON verisi işleyin. Python REST API'nizi tasarlamak ve test etmek için Apidog kullanın.

Efe Demir

Efe Demir

5 June 2025

Flask'ta JSON Verisi Nasıl Gönderilir ve Yayınlanır

Flask , web uygulamaları oluşturmak için kullanılan popüler bir Python web çerçevesidir. Bir web uygulaması oluştururken en yaygın görevlerden biri, istemciden sunucuya veri göndermektir. Bu genellikle HTTP POST yöntemi kullanılarak yapılır. JSON (JavaScript Object Notation), internet üzerinden veri göndermek için yaygın olarak kullanılan hafif bir veri alışveriş formatıdır.

Bu yazıda, HTTP yöntemiyle gönderilen JSON verilerini işlemek için Flask'ı nasıl kullanacağımızı ve verimli API geliştirmeyi kolaylaştıran, hepsi bir arada bir platform olan Apidog'u Python REST API'nizi tasarlamak ve test etmek için nasıl kullanacağımızı keşfedeceğiz.

💡
Apidog , API'lerinizi test etmenize ve hatalarını ayıklamanıza yardımcı olan web tabanlı bir araçtır. Herhangi bir API uç noktasına HTTP istekleri göndermenize ve yanıtı JSON, XML, HTML vb. gibi çeşitli formatlarda almanıza olanak tanır.
Ayrıca, yanıtın başlıklarını, çerezlerini, durum kodlarını ve diğer ayrıntılarını da inceleyebilirsiniz. Apidog ayrıca, JavaScript kullanarak yanıt verilerini işlemenize, JSONPath kullanarak verileri filtrelemenize ve JSON Schema kullanarak verileri doğrulamanıza olanak tanır.
button

JSON Verisi

JSON (JavaScript Object Notation), internet üzerinden veri göndermek için yaygın olarak kullanılan hafif bir veri alışveriş formatıdır. JavaScript programlama dilinin bir alt kümesine dayanır, ancak herhangi bir programlama diliyle kullanılabilir.

JSON kullanmanın avantajlarından biri, okunmasının ve yazılmasının kolay olmasıdır. JSON verileri, anlaşılmasını ve üzerinde çalışılmasını kolaylaştıran anahtar-değer çiftleri olarak temsil edilir. JSON, yerel olarak altı tür veriyi temsil edebilir: dizeler, sayılar, boole değerleri, null, diziler ve nesneler. Örneğin, bir blog yazısının JSON temsili şöyledir:

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

Bu örnek, tüm JSON veri türlerini göstermektedir. Ayrıca, API'lerde kullanım için bu kadar çekici hale getiren özelliklerden biri olan JSON formatlı verilerin özlülüğünü de göstermektedir.

HTTP POST Yöntemi

HTTP POST yöntemi, istemciden sunucuya veri göndermek için kullanılan en yaygın HTTP methodlarından biridir. Bir istemci bir HTTP POST isteği gönderdiğinde, gönderilen verileri içeren bir mesaj gövdesi içerir. Bu veriler, JSON dahil olmak üzere çeşitli formatlarda olabilir.

JSON kullanarak, geliştiriciler sunucuya gönderilen verilerin iyi organize edilmesini ve kolayca anlaşılmasını sağlayabilir, böylece kaynak oluşturma ve güncellemelerin verimliliğini artırabilir.

Flask Nedir ve Neden Kullanmalısınız?

Flask , Python'da yazılmış hafif bir web çerçevesidir. Basit ve kullanımı kolay olacak şekilde tasarlanmıştır ve yine de modern bir web uygulaması oluşturmak için ihtiyacınız olan tüm özellikleri sağlar.

Flask, Werkzeug WSGI araç takımı ve Jinja2 şablon motoru üzerine kurulmuştur. HTTP isteklerini ve yanıtlarını işlemek için basit ve sezgisel bir API sağlar.

FLASK

Flask'ın temel özelliklerinden biri, JSON verilerini işleme desteğidir. Flask, HTTP POST yöntemiyle gönderilen JSON verilerini ayrıştırmanın basit bir yolunu sağlar. Bu, istemcilerden JSON verilerini kabul edebilen web uygulamaları oluşturmayı kolaylaştırır.

Flask'ın Kurulumu

Flask, Python tabanlı bir mikro çerçeve olduğundan, bilgisayarınızda Python'un yüklü olması gerekir. Python'un en son sürümünü resmi web sitesinden indirebilirsiniz:

Sanal bir ortam oluşturun: Diğer Python projeleriyle çakışmaları önlemek için projeniz için sanal bir ortam oluşturmak iyi bir uygulamadır. Python ile birlikte gelen venv modülünü kullanarak sanal bir ortam oluşturabilirsiniz. İşte sanal bir ortamı nasıl oluşturabileceğiniz:

$ python3 -m venv myenv

Bu, geçerli dizininizde myenv adlı yeni bir dizin oluşturacaktır.

Sanal ortamı etkinleştirin: Sanal ortamı oluşturduktan sonra, onu etkinleştirmeniz gerekir. İşte sanal ortamı nasıl etkinleştirebileceğiniz:

$ source myenv/bin/activate

Flask'ı yükleyin: Sanal ortam etkinleştirildikten sonra, Python paket yöneticisi olan pip'i kullanarak Flask'ı yükleyebilirsiniz. İşte Flask'ı nasıl yükleyebileceğiniz:

$ pip install Flask

Bu, Flask'ı ve bağımlılıklarını yükleyecektir.

Kurulumu doğrulayın: Flask'ın doğru yüklendiğini doğrulamak için, aşağıdaki içeriğe sahip app.py adlı yeni bir dosya oluşturabilirsiniz:

from flask import Flask

app = Flask(__name__)

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

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

Dosyayı kaydedin ve aşağıdaki komutu kullanarak çalıştırın:

$ flask run

Bu, http://localhost:5000 adresinde yerel bir geliştirme sunucusu başlatacaktır. Web tarayıcınızı açın ve http://localhost:5000 adresine gidin. "Hello, World!" yazan bir mesaj görmelisiniz.

Flask'ta JSON İsteklerini İşleme

Flask'ta JSON verilerini işlemek için, request nesnesini kullanmanız gerekir. request nesnesi Flask tarafından sağlanır ve HTTP isteğinde gönderilen tüm verileri içerir. JSON verilerini ayrıştırmak için, request nesnesinin json özniteliğini kullanabilirsiniz.

Flask'ta JSON Verisi Alma

İstemci tarafından gönderilen JSON verilerine erişmek için, request nesnesinin json özniteliğini veya get_json() yöntemini kullanabilirsiniz. Her ikisi de ayrıştırılmış JSON verilerini temsil eden bir Python sözlüğü veya listesi döndürür.

Fark, veriler geçerli JSON değilse json özniteliğinin bir istisna oluşturması, get_json() yönteminin ise bu durumda None döndürmesidir. Ayrıca, verileri içerik türünden bağımsız olarak JSON olarak ayrıştırmaya zorlamak için get_json() yöntemine bir force parametresi de geçebilirsiniz.

İşte, JSON verileriyle bir POST isteği alan ve bunu konsola yazdıran basit bir rota işleyicisi örneği:

from flask import Flask, request

app = Flask(__name__)

@app.route('/json', methods=['POST'])
def json():
    # İstekten JSON verilerini alın
    data = request.get_json()
    # Verileri konsola yazdırın
    print(data)
    # Bir başarı mesajı döndürün
    return 'JSON alındı!'

İsteğin içerik türü önemlidir çünkü Flask'a verileri nasıl ayrıştıracağını söyler. İçerik türü application/json ise, Flask verileri otomatik olarak JSON olarak ayrıştıracak ve json özniteliği veya get_json() yöntemi aracılığıyla kullanılabilir hale getirecektir.

İçerik türü belirtilmemişse veya başka bir şeyse, get_json() yönteminin force parametresini kullanmadığınız sürece Flask verileri JSON olarak ayrıştırmayacaktır. Bu nedenle, JSON verilerini Flask'a gönderirken içerik türünü application/json olarak ayarlamanız veya içerik türünün doğru olmadığı veya verilerin geçerli olmadığı durumları işlemeniz önerilir.

İstemciye JSON Yanıtları Gönderme

Flask'tan jsonify() işlevini kullanarak JSON yanıtları oluşturmak ve döndürmek için, işlevi flask modülünden içe aktarmanız ve bir Python sözlüğü veya listesini bir argüman olarak geçirmeniz gerekir. İşlev, Python nesnesini bir JSON dizesine dönüştürecek ve yanıtın içerik türünü application/json olarak ayarlayacaktır. Bu sayede, istemci JSON verilerini kolayca ayrıştırabilir ve amaçları için kullanabilir.

İşte, istemciye bazı verilerle bir JSON yanıtı gönderen basit bir rota işleyicisi örneği:

from flask import Flask, jsonify

app = Flask(__name__)

@app.route('/data')
def data():
    # Bazı verilerle bir Python sözlüğü oluşturun
    data = {
        'name': 'Bing',
        'age': 10,
        'hobbies': ['searching', 'chatting', 'learning']
    }
    # jsonify() işlevini kullanarak bir JSON yanıtı döndürün
    return jsonify(data)

jsonify() işlevinin, JSON çıktısının biçimlendirmesini ve sıralamasını etkileyebilecek bazı isteğe bağlı parametreleri vardır. Örneğin, JSON nesnesinin anahtarlarını alfabetik olarak sıralamak için sort_keys parametresini veya JSON dizesine girintileme ve satır sonları eklemek için indent parametresini kullanabilirsiniz. Bu parametreler, JSON çıktısını daha okunabilir ve tutarlı hale getirebilir, ancak aynı zamanda yanıtın boyutunu da artırabilir.

Apidog ile JSON Verileri Nasıl POST Edilir?

Apidog, ister geliştirici, ister test uzmanı, ister tasarımcı veya öğrenci olun, API'lerle çalışan herkes için harika bir araçtır. Size şunlarda yardımcı olur:

button

Apidog'u kullanarak JSON verilerini gönderebilen ve alabilen Flask API'nizi test etmek için şu adımları izlemeniz gerekir:

Artık Apidog'u kullanarak JSON verilerini gönderebilen ve alabilen FlaskAPI'nizi test ettiniz. Aynı adımları kullanarak diğer API uç noktalarını ve yöntemlerini de test edebilirsiniz. Ayrıca, çevrimiçi bulduğunuz veya kendiniz oluşturduğunuz diğer API'leri test etmek için Apidog'u kullanabilirsiniz. Apidog, herhangi bir API ile ilgili görevde size yardımcı olabilecek çok yönlü ve güçlü bir araçtır. Apidog ve özellikleri ve araçları hakkında daha fazla bilgiyi resmi web sitesinden edinebilirsiniz:

button

Sonuç

Bu yazıda, Python'da web geliştirme için popüler bir mikro çerçeve olan Flask'ta JSON isteklerini nasıl işleyeceğimizi öğrendik. Şunları nasıl yapacağımızı gördük:

button

Explore more

Cursor ile Deepseek R1'i Yerel Olarak Nasıl Kullanılır

Cursor ile Deepseek R1'i Yerel Olarak Nasıl Kullanılır

Yerel DeepSeek R1'i Cursor IDE ile kurun ve yapılandırın. Özel, uygun maliyetli AI kodlama yardımı için.

4 June 2025

Android'de Gemma 3n Nasıl Çalıştırılır?

Android'de Gemma 3n Nasıl Çalıştırılır?

Google AI Edge Gallery'den Gemma 3n'i Android'e kurup çalıştırmayı öğrenin.

3 June 2025

GitHub Eylemleri ile Claude Kodunu Nasıl Kullanılır

GitHub Eylemleri ile Claude Kodunu Nasıl Kullanılır

Claude Code'u GitHub Actions ile entegre edin: Kod incelemeleri, hata düzeltmeleri ve özellik uygulamaları. Kurulum, iş akışları ve geliştiriciler için ipuçları.

29 May 2025

API Tasarım-Öncelikli Yaklaşımı Apidog'da Uygulayın

API'leri oluşturmanın ve kullanmanın daha kolay yolunu keşfedin