Skip to content

Latest commit

 

History

History
85 lines (69 loc) · 2.09 KB

README.md

File metadata and controls

85 lines (69 loc) · 2.09 KB

BlogOnContainers

Kullanıcıların blog gönderilerini görüntülemesine/yönetmesine olanak tanıyan REST API'lerin oluşturulması. Mevcut tüm blog gönderilerini ve gönderi oluşturma, güncelleme ve silme işlemlerini göstermek için API yöntemleri sağlanması.

Çalıştırma (Running)


docker compose up -> //container'ları kaldırmak için kullanabilirsiniz.
docker compose down -> //container'ları silmek için kullanabilirsiniz. Image'lar silinmez.

Teknik Detaylar


  • Database olarak mongoDB kullanılmıştır.
  • Web Framework olarak Gin kullanımıştır.
  • JWT (JSON Web Tokens) kullanılmıştır.

Kullanım


POST /user # Kullanıcı Kayıt
POST /login # Giriş
POST /api/blog # Hikaye Oluşturma
POST /api/blog/:id # Hikaye Güncelleme
DELETE /api/blog/:id # Hikaye Silme
GET /api/blog/ # Tüm Hikayeleri Alma
GET /api/blog/:id # Belirli Bir Hikaye Alma

Templates

http://localhost:5000/loginpage # Giriş için UI
http://localhost:5000/registerpage # Kayıt için UI
http://localhost:5000/storypage # Hikaye için UI

Request User Example

curl -X POST http://localhost:5000/user -H 'Content-Type: application/json' -d '{"UserName": "admin","Password": "admin"}'

Response
{
    "Data": null,
    "Status": 200,
    "Error": null,
    "Message": "User created"
} 
Request Login Example

curl -X POST http://localhost:5000/login -H 'Content-Type: application/json' -d '{"UserName": "admin","Password": "admin"}'

Response
{
    "Data": "{ JWT }",
    "Status": 200,
    "Error": null,
    "Message": "token created"
} 
Request Story Example

curl -X POST http://localhost:5000/api/blog -H 'Content-Type: application/json' -d '{"Title":"Örnek Başlık","Content":"Örnek İçerik "}'

Response
{
    "Data": {
        "Title": "Örnek Başlık",
        "Content": "Örnek İçerik "
    },
    "Status": 201,
    "Error": null,
    "Message": "story created"
}