0Pricing
Python Academy · Ders

REST Uç Noktası Oluşturma

JSON yanıtları döndürün

REST Uç Noktası Oluşturma, CoddyKit'te ücretsiz bir Python Academy dersidir. Bu, 4 dersinin 4. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Python Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Python Academy kursu toplamda 4 dersten oluşur.

REST API Nedir?

REST API, standart fiilleri kullanarak HTTP üzerinden kaynakları sunar. HTML sayfaları yerine, genellikle diğer programların kullanabilmesi için JSON biçiminde veri döndürür.

from flask import Flask, jsonify
app = Flask(__name__)
# REST endpoints return data, not pages
print('REST APIs speak JSON over HTTP')

JSON Döndürme

jsonify(), bir Python sözlüğünü veya listesini doğru içerik türüne sahip bir JSON yanıtına dönüştürür.

from flask import Flask, jsonify
app = Flask(__name__)

@app.route('/api/status')
def status():
    return jsonify({'status': 'ok'})
print('jsonify builds a JSON response')

Sözlükler Otomatik Dönüştürülür

Modern Flask, döndürülen bir sözlüğü de otomatik olarak JSON'a dönüştürür; bu nedenle çoğu zaman jsonify() kullanmayabilirsiniz.

from flask import Flask
app = Flask(__name__)

@app.route('/api/ping')
def ping():
    return {'message': 'pong'}
print('Returning a dict yields JSON')

Liste Döndürme

Bir koleksiyon döndürmek için bir listeyi jsonify() işlevine aktarın. Her öğe genellikle tek bir kaynağı temsil eden bir sözlüktür.

from flask import Flask, jsonify
app = Flask(__name__)
books = [{'id': 1, 'title': 'A'}, {'id': 2, 'title': 'B'}]

@app.route('/api/books')
def list_books():
    return jsonify(books)
print('Return a list of resources')

GET ile Tek Kaynak Alma

Tek bir öğeyi kimliğine göre getirmek için dinamik bir URL bölümü kullanın. Öğe mevcut değilse 404 döndürün.

from flask import Flask, jsonify
app = Flask(__name__)
books = {1: {'id': 1, 'title': 'A'}}

@app.route('/api/books/<int:bid>')
def get_book(bid):
    book = books.get(bid)
    if book is None:
        return jsonify({'error': 'not found'}), 404
    return jsonify(book)
print('GET /api/books/1')

POST ile Oluşturma

POST isteği bir kaynak oluşturur. JSON gövdesini okuyun, yeni öğeyi oluşturun ve onu 201 Oluşturuldu durumuyla döndürün.

from flask import Flask, request, jsonify
app = Flask(__name__)
books = []

@app.route('/api/books', methods=['POST'])
def create_book():
    data = request.get_json()
    book = {'id': len(books) + 1, 'title': data['title']}
    books.append(book)
    return jsonify(book), 201
print('POST creates and returns 201')

PUT ile Güncelleme

PUT, kimliğiyle belirlenen mevcut bir kaynağın yerini alır veya onu günceller.

from flask import Flask, request, jsonify
app = Flask(__name__)
books = {1: {'id': 1, 'title': 'A'}}

@app.route('/api/books/<int:bid>', methods=['PUT'])
def update_book(bid):
    if bid not in books:
        return jsonify({'error': 'not found'}), 404
    books[bid]['title'] = request.get_json()['title']
    return jsonify(books[bid])
print('PUT updates a resource')

DELETE ile Silme

DELETE bir kaynağı kaldırır. Başarılı işlemlerde 204 İçerik Yok durumunu döndürmek yaygındır.

from flask import Flask, jsonify
app = Flask(__name__)
books = {1: {'id': 1, 'title': 'A'}}

@app.route('/api/books/<int:bid>', methods=['DELETE'])
def delete_book(bid):
    if bid in books:
        del books[bid]
        return '', 204
    return jsonify({'error': 'not found'}), 404
print('DELETE removes a resource')

Durum Kodları Önemlidir

REST, HTTP durum kodlarına dayanır: 200 OK, 201 Oluşturuldu, 204 İçerik Yok, 400 Hatalı İstek, 404 Bulunamadı.

# 200 success
# 201 created
# 204 no content
# 400 bad request
# 404 not found
print('Use the right status code')

Gövdeyi Doğrulama

Oluşturmadan önce gerekli alanların bulunduğunu denetleyin. Gövde geçersiz olduğunda hata mesajıyla birlikte 400 döndürün.

from flask import Flask, request, jsonify
app = Flask(__name__)

@app.route('/api/books', methods=['POST'])
def create_book():
    data = request.get_json(silent=True) or {}
    if 'title' not in data:
        return jsonify({'error': 'title required'}), 400
    return jsonify(data), 201
print('Validate JSON before using it')

Tutarlı Yanıtlar

İyi API'ler öngörülebilir bir yapı döndürür; genellikle verileri ve hataları her seferinde aynı biçimde sarmalayarak istemcilerin bunlara güvenebilmesini sağlar.

from flask import jsonify
# Success: {'data': {...}}
# Error:   {'error': 'message'}
# Keep the shape consistent across endpoints
print('Predictable shapes help clients')

Hızlı Kontrol

REST bilginizi sınayın.

Özet

Bir JSON REST uç noktası oluşturdunuz.

  • jsonify() (veya döndürülen bir sözlük) JSON yanıtları üretir
  • HTTP fiillerini eşleyin: GET okur, POST oluşturur, PUT günceller, DELETE kaldırır
  • 201, 204, 400 ve 404 gibi anlamlı durum kodları döndürün
  • İstek gövdesini doğrulayın ve yanıtları tutarlı tutun

Sıkça Sorulan Sorular

“REST Uç Noktası Oluşturma” dersi ücretsiz mi?

Evet — “REST Uç Noktası Oluşturma” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Python Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Python Academy kursu toplamda 4 dersten oluşur.

“REST Uç Noktası Oluşturma” dersinde ne öğreneceğim?

JSON yanıtları döndürün Python Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.

Python Academy öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te Python Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 4. dersidir.

“REST Uç Noktası Oluşturma” dersi ne kadar sürer?

Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.

Bu Python Academy dersinde kod yazıp çalıştırabilir miyim?

Evet. Her Python Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.

Bu kursun tüm dersleri

  1. Yönlendirmeler ve Görünümler
  2. Jinja2 ile Şablonlar
  3. Formlar ve İstek Verileri
  4. REST Uç Noktası Oluşturma
← Python Academy Sayfasına Dön