Bir API’yi anlamanın iyi bir yolu çalışan bir projeyi açmak, bir değeri değiştirmek ve sonucu karşılaştırmaktır. Aşağıdaki ZIP dosyaları sözleşmeyi, route’ları ve gerekli proje ayarlarını birlikte içerir. Önce örneği olduğu gibi çalıştırın; sonra tek bir değişiklik yaparak yeniden deneyin.
Hangi örnekle başlamalısınız?
| Proje ve indirme | Deneyeceğiniz şey |
|---|---|
| Hello API projesini indir | Tek bir GET isteği, Direct bağı ve gerçek yanıt. İlk kez API açıyorsanız buradan başlayın. |
| Sipariş önizleme projesini indir | JSON gövdesi, hesaplama, şema reddi ve iş kuralı hatası. |
| Ortak hata projesini indir | Üç HTTP işleminde tek hata şeması, ortak response tanımları ve ortak yanıt akışı. |
Üçü de gösterim verisiyle çalışır. Veritabanı, müşteri sistemi veya API anahtarı hazırlamanız gerekmez. Gerçek çağrı için geliştirici yetkiniz ve çalışır bir geliştirme runtime ortamınız olmalıdır. İlk Run sırasında gerekli bağımlılıkların indirilmesi zaman alabilir.
ZIP içe almak dosyaları projeye ekler. Çalıştırmayı Run ile siz başlatırsınız. Örneklerde API exposure → Disabled hazır gelir; Try it → Running project üzerinden deneyebilirsiniz.
Projeyi içe alın
- Yukarıdan bir ZIP indirin; dosyayı açmanız gerekmez.
- Lunex’te Projects → Import project açın.
- ZIP dosyasını yükleme alanına bırakın veya alanı tıklayarak seçin.
- Import project seçin ve oluşturulan projeyi açın.
- Source → Files içinden dosyaları, API design içinden işlemleri inceleyin.
- Run seçin. Runtime hazır olunca bir operation açıp Try it → Target → Running project seçin. Durum yenilenmediyse Refresh runtime status kullanın.
- Response content type (Accept) için No preference seçin. POST denemelerinde Request content type → application/json kullanın.
| İndirdiğiniz örnek | Proje kimliği | İlk çağrı ve beklenen sonuç |
|---|---|---|
| Hello API | help-hello-api | getHello → Send: 200, Hello from Lunex. |
| Sipariş önizlemesi | help-order-preview | previewOrder, {"customerId":"C-100","quantity":2}: 200, toplam 50. |
| Ortak hata modeli | help-shared-errors | getOrder, path parametresi orderId: ORD-9999: 404, ORDER_NOT_FOUND. |
Mock seçiliyse sözleşmenin örneğini görürsünüz. Bir hesabın veya hata dalının çalıştığını anlamak için Running project sonucunu okuyun. Bu hedefle aldığınız başarı, dış istemci kimlik doğrulamasını sınamaz; o aşama erişim ve güvenlik bölümündedir.
Aynı ZIP’i yeniden içe alamıyorsanız
İçe alma mevcut proje kimliğinin üzerine yazmaz. Kimlik, ZIP adından değil application.properties içindeki camel.main.name değerinden gelir. Dosyayı bilgisayarınızda yeniden adlandırmak ikinci bir proje oluşturmaz.
Mevcut örneğinizi Projects içinde bulun. Baştaki duruma dönmek istiyorsanız ZIP’i bilgisayarınızda açın. Projede değiştirdiğiniz dosyayı Source → Files içinden açıp ZIP’teki asıl içeriği editöre geri koyun ve kaydedin; ardından Reload yapın. openapi.json için API design → Source → Save, route YAML için Code görünümünü kullanın. Upload, aynı adlı mevcut dosyanın üzerine yazmaz.
Başka bir kimlikle ayrı proje hazırlamak isterseniz yeni projeyi normal yoldan oluşturup sözleşme ve route dosyalarını oraya taşıyın; yeni projenin kendi yapılandırmasını koruyun.
Dosyalar ne işe yarıyor?
| Dosya | İncelerken soracağınız soru |
|---|---|
openapi.json | Hangi istek kabul ediliyor, hangi yanıtlar vaat ediliyor? |
*.camel.yaml | İstek geldiğinde gerçekte hangi adımlar çalışıyor? |
application.properties | Projenin kimliği ne; hangi bağımlılıklar yükleniyor? |
api-publishing.yaml | Dış API erişimi açık mı? Bu örneklerde kapalıdır. |
deployment.jkube.yaml | Paketli Kubernetes uygulamasının proje metadatası nedir? İlk Run denemesinde düzenlemeniz gerekmez. |
README.md | Projenin kısa özeti, örnek çağrılar ve beklenen sonuçlar. |
ZIP’lerdeki kod, adım adım anlatımla birlikte okunabilir: ilk API, sipariş önizlemesi, ortak hata modeli. İlk iki ZIP’in proje kimliği, elle oluşturma anlatımındaki kimlikten farklıdır; ikisini yan yana tutabilirsiniz. Dış çağrı adresi gerektiğinde anlatımdaki proje adını kopyalamak yerine kendi projenizden Copy operation address kullanın.
Küçük deneyler yapın
Her seferinde yalnızca bir şeyi değiştirin. Önce eski sonucu kaydedin, dosyayı kaydedip Reload yapın ve aynı isteği yeniden gönderin.
| Deney | Beklenen gözlem | Öğrettiği şey |
|---|---|---|
Hello route’unda mesajı Merhaba yapın; OpenAPI örneğini bırakın. | Gerçek çağrı Merhaba, Mock eski mesajı verir. | Örnek veri ile çalışan kod ayrı kaynaklardır. |
Sipariş önizlemesinde miktarı 2 yerine 3 gönderin. | Toplam 50 yerine 75 olur. | Route girdiyi gerçekten kullanır. |
Miktarı 0, sonra 21 gönderin. | Önce 400, sonra 422 gelir. | Yapı kontrolü ile iş kuralı farklı aşamalardır. |
Ortak hata projesinde ORD-9999, sonra bad-id arayın. | İlki 404, ikincisi 400 verir. | Doğru biçimli ama bulunamayan kayıt, yanlış biçimli girdiden farklıdır. |
| Ortak hata şemasına isteğe bağlı alan ekleyin. | Gerçek gövdede alan kendiliğinden görünmez. | Şema yanıtı tarif eder; üretmek için route’u da değiştirirsiniz. |
Son deneyin tam adımları ortak hata anlatımındadır. Örnek beklediğiniz gibi çalışmıyorsa aynı anda birkaç dosyayı değiştirmeyin; API hata teşhisindeki sırayla ilerleyin.
Denemeden sonra
Kubernetes ortamında Delete container ile bu örneğin geliştirme runtime’ını sonlandırın. Proje dosyaları kalır; tekrar Run yapabilirsiniz. Bu üç örnek kalıcı iş verisi yazmadığı için temizlenecek sipariş kaydı oluşmaz.
Sonraki adımda gerçek veriyle çalışmak istiyorsanız sipariş veritabanı projesine geçin. Orada bağlantı, Secret, sorgu, kayıt, çift işlem ve transaction hazırlığı ayrıca anlatılır. Bu API örneklerini veritabanı örneğiyle otomatik bağlı varsaymayın; aradaki çağrıyı ve hata eşlemesini siz tasarlarsınız.