Bu API, kullanıcıların Antoloji.com sitesindeki şairleri ve şiirleri aramasını ve rastgele şiirler almasını sağlar. FastAPI kullanılarak oluşturulmuştur.
Bu API'yi kullanmaya başlamak için aşağıdaki talimatları izleyin.
-
Depoyu klonlayın:
git clone https://github.com/fswair/rastgele-siir.git cd antoloji-api
-
Gerekli bağımlılıkları yükleyin:
pip install -r requirements.txt
-
FastAPI uygulamasını çalıştırın:
uvicorn main:app --reload
Bir şairi isme göre arayın.
-
Parametreler:
sair
(str): Şairin adı.siirler
(bool | int, opsiyonel):True
veya1
olarak ayarlanırsa, yanıt içinde şairin şiirleri de dahil edilir.
-
Yanıt:
status
(str): İstek durumu.poet
(str): Şairin Antoloji.com sayfasının URL'si.poems
(liste, opsiyonel): Şairin şiirlerinin listesi (siirler
parametresiTrue
veya1
olarak ayarlanmışsa).
Örnek istek:
GET /ara/sair?sair=Yunus%20Emre&siirler=true
Örnek yanıt:
{
"status": "found",
"poet": "https://www.antoloji.com/yunus-emre",
"poems": [
{
"title": "Beni Beni",
"url": "https://www.antoloji.com/beni-beni-siiri/"
},
...
]
}
Şiirleri başlığa veya içeriğe göre arayın.
-
Parametreler:
siir
(str): Şiirin başlığı veya içeriği.sayfa
(int, opsiyonel): Sayfa numarası. Varsayılan değer1
.
-
Yanıt:
- Arama sorgusuna uygun şiirlerin listesi.
Örnek istek:
GET /ara/siir?siir=Aşk&sayfa=2
Örnek yanıt:
[
{
"title": "Aşk İki Kişiliktir",
"url": "https://www.antoloji.com/ask-iki-kisiliktir-siiri/",
"poet": "Ataol Behramoğlu"
},
...
]
Rastgele bir şiir alın.
- Yanıt:
endpoint
(str): Şiirin API uç noktası.title
(str): Şiirin başlığı.poem
(str): Şiirin içeriği.url
(str): Şiirin Antoloji.com üzerindeki URL'si.poet
(dict): Şair hakkında bilgi.name
(str): Şairin adı.url
(str): Şairin Antoloji.com sayfasının URL'si.
Örnek istek:
GET /rastgele
Örnek yanıt:
{
"endpoint": "/siir/ask-iki-kisiliktir-siiri",
"title": "Aşk İki Kişiliktir",
"poem": "Aşk bir kişilik değildir...",
"url": "https://www.antoloji.com/ask-iki-kisiliktir-siiri/",
"poet": {
"name": "Ataol Behramoğlu",
"url": "https://www.antoloji.com/ataol-behramoglu/"
}
}
Belirli bir şiiri uç noktasına göre alın.
-
Parametreler:
endpoint
(str): Şiirin uç noktası.
-
Yanıt:
status
(int): İstek durumu (404 eğer bulunamazsa).message
(str, opsiyonel): Hata mesajı (eğer bulunamazsa).title
(str, opsiyonel): Şiirin başlığı.poem
(str, opsiyonel): Şiirin içeriği.url
(str, opsiyonel): Şiirin Antoloji.com üzerindeki URL'si.poet
(dict, opsiyonel): Şair hakkında bilgi.name
(str): Şairin adı.url
(str): Şairin Antoloji.com sayfasının URL'si.
Örnek istek:
GET /siir/ask-iki-kisiliktir-siiri
Örnek yanıt:
{
"title": "Aşk İki Kişiliktir",
"poem": "Aşk bir kişilik değildir...",
"url": "https://www.antoloji.com/ask-iki-kisiliktir-siiri/",
"poet": {
"name": "Ataol Behramoğlu",
"url": "https://www.antoloji.com/ataol-behramoglu/"
}
}
API'yi kullanmak için, yukarıda tanımlanan uç noktalara HTTP istekleri gönderebilirsiniz. İşte uç noktaları kullanmanın birkaç örneği:
-
Bir şair arayın:
curl -X GET "http://apiv2.mert.uno/ara/sair?sair=Yunus%20Emre"
-
Şiir arayın:
curl -X GET "http://apiv2.mert.uno/ara/siir?siir=Aşk&sayfa=1"
-
Rastgele bir şiir alın:
curl -X GET "http://apiv2.mert.uno/rastgele"
-
Belirli bir şiiri uç noktaya göre alın:
curl -X GET "http://apiv2.mert.uno/siir/ask-iki-kisiliktir-siiri"
Bu projeye katkıda bulunmak isterseniz, lütfen depoyu fork edin ve bir pull request oluşturun. Ayrıca, herhangi bir hata veya özellik isteği için issues açabilirsiniz.
Bu proje MIT Lisansı altında lisanslanmıştır. Daha fazla bilgi için LICENSE dosyasına bakın.