OpenAPI Nedir?
İngilizce: OpenAPI / Swagger
OpenAPI, RESTful API'lerin makine ve insan tarafından okunabilir şekilde tanımlanması için kullanılan açık standarttır; Swagger olarak da bilinir.
OpenAPI Nedir?
OpenAPI, bir REST API’nin hangi endpoint’leri sunduğunu, hangi parametreleri beklediğini, hangi yanıtları döndürdüğünü ve nasıl yetkilendirildiğini standart bir sözleşme halinde yazar. Bu sözleşme genellikle YAML veya JSON dosyası olarak tutulur.
Swagger adı tarihsel olarak bu ekosistemle birlikte anılır: Swagger araçları OpenAPI dosyasını okuyup görsel dokümantasyon, test ekranı veya istemci kodu üretebilir. OpenAPI ise standardın adıdır.
OpenAPI Dosyasında Neler Bulunur?
- Paths:
/orders/{id}gibi endpoint adresleri - Methods:
GET,POST,PUT,DELETEgibi HTTP işlemleri - Parameters: Query, path, header ve cookie parametreleri
- Request body: Gönderilecek JSON şeması ve zorunlu alanlar
- Responses: Durum kodları, örnek yanıtlar ve hata formatları
- Security schemes: API key, OAuth2 veya bearer token tanımları
Bu dosya dokümantasyondan daha fazlasıdır. Mock sunucu, SDK üretimi, kontrat testi, gateway validasyonu ve Postman koleksiyonu üretimi için kaynak olabilir.
İş Dünyasında Kullanımı
OpenAPI, dış müşteri entegrasyonlarında, mobil uygulama arka uçlarında, ödeme ve kargo bağlantılarında ve ekipler arası servis sözleşmelerinde belirsizliği azaltır. Frontend ekibi API tamamlanmadan mock veriye karşı çalışabilir; entegrasyon yapan müşteri hangi alanın zorunlu olduğunu dokümandan görebilir.
REST API projelerinde OpenAPI dosyasının kodla birlikte versiyonlanması önemlidir. Aksi halde dokümantasyon hızla gerçek API davranışından kopar ve entegrasyon hataları artar.
İlgili Terimler
API dokümantasyonu, endpoint, kimlik doğrulama, parametre, örnek istek ve hata yanıtlarını geliştiriciler için açıklayan kaynaktır.
API MockAPI mock, gerçek servis hazır değilken beklenen endpoint ve yanıtları taklit ederek frontend, mobil ve test ekiplerinin ilerlemesini sağlar.
APIAPI, farklı yazılımların izin verilen veri ve işlemlere standart istekler üzerinden erişmesini sağlayan sözleşmeli arayüzdür.
API VersiyonlamaAPI versiyonlama, istemcileri bozmadan yeni alan, kural ve endpoint değişikliklerini yönetmek için sürüm stratejisi belirler.
GraphQL SchemaGraphQL şeması, API'deki tipleri, sorguları, mutasyonları ve alan ilişkilerini tanımlayan sözleşme katmanıdır.
PostmanPostman, API isteklerini denemek, koleksiyonlar oluşturmak, test senaryoları yazmak ve dokümantasyon paylaşmak için kullanılan platformdur.
REST APIREST API, HTTP yöntemleriyle kaynakları okuma ve değiştirme üzerine kurulu, entegrasyonlarda yaygın kullanılan web servis tasarımıdır.