Python 및 Flask 도구 모음 웹 API 지원
바스리클라르
API 네디르?
API yani Application Programming Interface’in Türkçe karşılığı Uygulama Geliştirme Ara yüzü anlamına gelmektedir. Kişinin elindeki verileri dış dünyaya açarak diğer uygulama ve platformların kullanımına belli kurallar ve tanımlamalar çerçevesinde sunduğu ara yüzdür.
웹 API 네디르?
Birden fazla end user’ın bilgisayarlar, web tarayıcıları, akıllı telefonlar, tabletler vs. aracılığı HTTP protokolleri üzerinden haberleşelebilen bir servis oluşturmak için kullanılan bir framework olarak çalışmaktadır.
HTTP’nin tüm özelliklerini (URI, Request/Response headers, caching yani önbelleğe alma, versiyonlama, çeşitli içerik formatları gibi özellikler) kullanabilen, HTTP üzerinde kaynak odaklı servisler oluşturmak istediğinizde Web API kullanmanız daha sağlıklıdır.
쿠룰룸
Öncelikle Python’da oldukça popüler olan pip3 paket yöneticisini kuralım. Eğer pip3 yüklüyse bu adımı geçebilirsiniz.
sudo apt-get install python3-pip
Şimdi ise pip ile Flask kurmaya hazırız.
pip install flask
Kurulumumuzu tamamladık, şimdi bu dökümanda ne yapacağımızdan kısaca bir bahsedelim.
웹 API
Her siteye girdiğinizde base URL dediğimiz ana sayfa bulunmaktadır. Sizin yaptığınız tercihler ile farklı konumlara request atılır ve bu base URL’in sonuna bir path eklenir.
Base URL:
dev.to
Örneğin, dev.to sitesine girdiğinizde ana sayfaya yönlendirilirsiniz. Fakat benim profilime girmek için adıma tıkladığınızda URL’nin sonuna aşağıdaki path’in eklendiğini görebilirsiniz.
/koraybarkin
Bu path kendi başına hiçbir işe yaramamaktadır, fakat base URL’imiz ile birleştiğinde dev.to sitesinde koraybarkin kullanıcısının profiline yönlendirmektedir.
https://dev.to/koraybarkin
Şimdi başka bir örnekten daha detaylı inceleyelim.
http://chroniclingamerica.loc.gov/search/pages/results/
Yukarıdaki URL’nin sonuna bir path eklenmiş ve bir sorgunun cevabı yansıtılmış. Şimdi ise parametre göndermenin ne işe yaradığını öğrenelim. Bu sitedeki aramamızın sonucunu parametre göndererek manipüle edebiliriz.
http://chroniclingamerica.loc.gov/search/pages/results/?format=json&proxtext=fire
Yukarıda görmüş olduğunuz gibi “?” işareti her bir query parametresinin başında yer yer almaktadır. Her bir query, & işareti ile birbirinden ayrılmaktadır. Yukarıdaki format=json query’si sayfadaki veriyi bize JSON halinde göstermesi için bir sorgudur. İkinci olarak da proxtext=fire sorgusu o sayfada yaptığımız aramayı spefisikleştirmektedir.
Şimdi bu terminolojileri anladığımıza göre Flask ile basit bir API yapalım.
İlk önce bir klasör açalım ve adına projeler diyelim. Daha sonra bu projeler klasörünün içerisine api adında bir klasör daha açalım ve bu api klasörünün içerisine de bir Python dosyası açalım (.py uzantılı) ve içerisine aşağıdaki kodu yapıştıralım.
import flask
app = flask.Flask(__name__)
app.config["DEBUG"] = False
@app.route('/', methods=['GET'])
def home():
return "<h1>dev.to/koraybarkin Flask ile Web API geliştirme</h1><p>Tebrikler ilk Web API'ınızı başarıyla geliştirdiniz!</p>"
app.run()
Daha sonra yaptığımız değişiklikleri kaydedip çalıştıralım. Her şey düzgün gittiyse aşağıdaki gibi bir sonuç almalısınız.
* Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
웹 API에 대한 기본 정보를 확인하십시오. Aşağıdaki kodu python dosyamıza yapıştıralım ve değişiklikleri kaydedelim. Daha sonra tekrar çalıştırdıgımızda ana sayfamızdaki yazının 할라 aynı şekilde kaldığını 괴레빌리리즈. Peki bu eklediğimiz books array'indeki data nereye gitti? Kodu dikkatlice incelerseniz giriş ekranına bir/api/v1/resources/books/all path'ine jsonify(books) fonksiyonunu gonderdiğimizi gorebilirsiniz.
import flask
from flask import request, jsonify
app = flask.Flask(__name__)
app.config["DEBUG"] = False
# Create some test data for our catalog in the form of a list of dictionaries.
books = [
{'id': 0,
'title': 'A Fire Upon the Deep',
'author': 'Vernor Vinge',
'first_sentence': 'The coldsleep itself was dreamless.',
'year_published': '1992'},
{'id': 1,
'title': 'The Ones Who Walk Away From Omelas',
'author': 'Ursula K. Le Guin',
'first_sentence': 'With a clamor of bells that set the swallows soaring, the Festival of Summer came to the city Omelas, bright-towered by the sea.',
'published': '1973'},
{'id': 2,
'title': 'Dhalgren',
'author': 'Samuel R. Delany',
'first_sentence': 'to wound the autumnal city.',
'published': '1975'}
]
@app.route('/', methods=['GET'])
def home():
return '''<h1>dev.to/koraybarkin Flask ile Web API geliştirme</h1><p>Tebrikler ilk Web API'ınızı başarıyla geliştirdiniz!</p>'''
# A route to return all of the available entries in our catalog.
@app.route('/api/v1/resources/books/all', methods=['GET'])
def api_all():
return jsonify(books)
app.run()
Şimdi ise aşağıdaki path'i yazıp sonuca bakalım.
http://127.0.0.1:5000/api/v1/resources/books/all
Books array'indeki tüm veriyi alıp, jsonify() fonksiyonu ile json haline getirdik ve ekranımıza yansıttık. 현재 상태 유지 관리, API 사용 가능 여부!
Reference
이 문제에 관하여(Python 및 Flask 도구 모음 웹 API 지원), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/koraybarkin/python-ve-flask-kullanarak-web-api-gelistirme-5ed7텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)