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.
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.
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'ı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:
- Farklı API'lerin nasıl kullanılacağını öğrenin ve özelliklerini keşfedin
- Kendi API'lerinizi test edin ve hatalarını ayıklayın ve hataları ve böcekleri bulun
- Farklı parametreler ve seçeneklerle deneyler yapın ve bunların yanıtı nasıl etkilediğini görün
- API kullanımınızı ve sonuçlarınızı belgeleyin ve gösterin
- Diğer API kullanıcıları ve geliştiricileriyle işbirliği yapın ve iletişim kurun
Apidog'u kullanarak JSON verilerini gönderebilen ve alabilen Flask API'nizi test etmek için şu adımları izlemeniz gerekir:
- Apidog web sitesini ziyaret edin ve ücretsiz bir hesap oluşturun. Ayrıca bir hesap olmadan Apidog'u kullanabilirsiniz, ancak isteklerinizi kaydedemez ve paylaşamazsınız. Apidog'u açın ve yeni bir istek oluşturun.

- Kullanmak istediğiniz HTTP yöntemini seçin. Örneğin, mesajların listesini almak istiyorsanız, GET yöntemini seçebilirsiniz. Yeni bir mesaj oluşturmak istiyorsanız, POST yöntemini seçebilirsiniz.

- API uç noktanızın URL'sini URL giriş alanına girin. İsteğiniz için ihtiyacınız olan başlıkları, çerezleri veya parametreleri ekleyin. Örneğin, yeni bir mesaj oluşturmak istiyorsanız,
Content-Type
başlığınıapplication/json
değeriyle eklemeniz ve verileri gövde giriş alanında JSON formatında yazmanız gerekir. Örneğin, aşağıdaki verileri yazabilirsiniz:

- İsteği API'nize göndermek için Gönder düğmesine tıklayın. Apidog daha sonra API'nizden gelen yanıtı Yanıt sekmesinde görüntüleyecektir. Yanıtın diğer ayrıntılarını görmek için Başlıklar, Çerezler veya Ham sekmelerine de geçebilirsiniz.

- Apidog'un özelliklerini ve araçlarını kullanarak yanıt verilerini analiz edin ve işleyin. Yanıt verilerini görüntülemek, filtrelemek, değiştirmek veya doğrulamak için JSON Görüntüleyici, JSONPath, JavaScript, JSON Schema ve diğer özellikleri ve araçları kullanabilirsiniz. Ayrıca, isteğinizi ve yanıtınızı kaydedebilir ve benzersiz bir URL kullanarak başkalarıyla paylaşabilirsiniz.
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:
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:
request
nesnesininjson
özniteliğini veyaget_json()
yöntemini kullanarak POST isteklerinden JSON verilerini alın ve ayrıştırın.- Bir Python sözlüğünü veya listesini bir JSON dizesine dönüştüren ve yanıt için uygun içerik türünü ayarlayan
jsonify()
işlevini kullanarak JSON yanıtları oluşturun ve döndürün. - JSON çıktısının biçimlendirmesini ve sıralamasını etkilemek için
jsonify()
işlevininsort_keys
veindent
gibi bazı isteğe bağlı parametrelerini kullanın. - JSON verilerini POST etmek için Apidog'u kullanma