Ana içeriğe atla

Endpoint Özellikleri

Path

Endpoint’in URL yolu. Örneğin: /api/v1/products

Method

HTTP method. GET, POST, PUT, DELETE, PATCH vb.

Operation

Endpoint’in gerçekleştirdiği işlem. Örneğin: “Ürün listesi getir”

Backend Mapping

Endpoint’in backend’deki karşılığı

Endpoint İşleme Akışı

Aşağıdaki diyagram, endpoint’in istek ve yanıt akışında nasıl çalıştığını ve path rewriting işlemini gösterir:

Endpoint Yapısı

Bir endpoint şu bilgileri içerir:
GET /api/v1/products
│   │   │  │
│   │   │  └─ Resource (Kaynak)
│   │   └─ Version (Versiyon)
│   └─ Base Path (Temel Yol)
└─ HTTP Method (HTTP Metodu)

Örnek Endpoint’ler

GET /api/v1/products

Ürün listesi getir

GET /api/v1/products/{id}

Tek ürün detayı getir

POST /api/v1/products

Yeni ürün oluştur

PUT /api/v1/products/{id}

Ürün güncelle

DELETE /api/v1/products/{id}

Ürün sil

Endpoint ve Client Route İlişkisi

Endpoint’ler Client Route’un altında tanımlanır:
Client Route: /api/v1/*

├─ GET /api/v1/products
├─ GET /api/v1/products/{id}
├─ POST /api/v1/products
├─ PUT /api/v1/products/{id}
└─ DELETE /api/v1/products/{id}
Client Route, endpoint’lerin üst seviye yapılandırmasıdır. Bir Client Route altında birden fazla endpoint tanımlanabilir. Endpoint’ler, Client Route’un path’i içinde spesifik path ve method kombinasyonlarıdır.

Endpoint Yapılandırması

Bir endpoint oluştururken şu bilgiler tanımlanır:
  • Path: Endpoint’in URL yolu
  • Method: HTTP method (GET, POST, PUT, DELETE, vb.)
  • Operation ID: Endpoint’in benzersiz tanımlayıcısı
  • Description: Endpoint’in açıklaması
  • Query Parameters: URL’deki query string parametreleri
  • Path Parameters: URL path’indeki dinamik parametreler (örn: {id})
  • Header Parameters: HTTP header parametreleri
  • Request Body: İstek gövdesi şeması (JSON, XML, vb.)
  • Response: Yanıt şeması ve status code’ları
  • Content-Type: İstek ve yanıt içerik tipleri
  • Backend Path: Backend’deki karşılık gelen path
  • Backend Method: Backend’deki HTTP method
  • Path Rewrite: Path dönüşüm kuralları

Endpoint Türleri

REST Endpoint

REST API’ler için endpoint’lerJSON formatında veri alışverişi. RESTful tasarım prensiplerine uygun endpoint’ler.

SOAP Endpoint

SOAP Web Servisleri için endpoint’lerXML formatında veri alışverişi. WSDL tanımları ile yapılandırılır.

gRPC Endpoint

gRPC servisleri için endpoint’lerProtobuf formatında veri alışverişi. Yüksek performanslı RPC çağrıları.

WebSocket Endpoint

WebSocket bağlantıları için endpoint’lerGerçek zamanlı iletişim. İki yönlü veri alışverişi sağlar.

Endpoint ve Politika İlişkisi

Endpoint’lere özel politikalar uygulanabilir:

Endpoint Bazlı Güvenlik

Her endpoint için farklı güvenlik politikalarıOAuth2, JWT, API Key gibi güvenlik mekanizmaları endpoint bazında yapılandırılabilir.

Endpoint Bazlı Rate Limiting

Her endpoint için farklı rate limitEndpoint bazında istek sayısı ve bant genişliği limitleri tanımlanabilir.

Endpoint Bazlı Dönüştürme

Her endpoint için farklı dönüştürme kurallarıJSON ↔ XML dönüşümü, veri mapping ve transformation endpoint bazında yapılabilir.

Endpoint Bazlı Doğrulama

Her endpoint için farklı doğrulama kurallarıRequest/Response validation, schema doğrulama endpoint bazında yapılandırılabilir.

Endpoint Versiyonlama

Endpoint’ler versiyonlanabilir:

Version 1

/api/v1/productsİlk versiyon. Temel işlevsellik.

Version 2

/api/v2/productsGeliştirilmiş versiyon. Yeni özellikler.

Version 3

/api/v3/productsEn son versiyon. Güncel API.
Geriye dönük uyumluluk korunur. Eski versiyonlar çalışmaya devam eder ve yeni versiyonlar eski versiyonları etkilemez.
Kademeli geçiş yapılabilir. İstemciler kendi hızlarında yeni versiyona geçebilir.
Farklı versiyonlar farklı ortamlara deploy edilebilir ve aynı anda çalışabilir. Versiyonlama sayesinde API yaşam döngüsü yönetilebilir.

Endpoint ve Routing İlişkisi

Endpoint’ler, Client Route ve Upstream Target arasında köprü görevi görür:
İstemci İsteği


Client Route (/api/v1/*)


Endpoint (GET /api/v1/products)

   │ Routing Logic
   │ (Load Balancing, Failover)


Upstream Target (http://backend:8080/products)


Backend API
Endpoint, Client Route’dan gelen istekleri Upstream Target’a yönlendirirken, routing mantığı ve politikaları uygular.

Sonraki Adımlar