Bu örnekte GET /hello çağrısına {"message":"Hello from Lunex"} döndüren bir API hazırlayacaksınız. Sözleşme, route ve gerçek çağrı sonucunu aynı proje içinde göreceksiniz.
Hazır halini incelemek isterseniz Hello API projesini indirin ve ZIP içe alma adımlarını izleyin. ZIP’in proje kimliği help-hello-api olur; sözleşme ve route aşağıdakiyle aynıdır. İçe aldıysanız dosyaları yeniden oluşturmadan deneme adımına geçebilirsiniz.
HTTP yöntemi, endpoint veya gövde terimleri yeni geliyorsa önce REST servisi ve isteğin yolculuğunu okuyun. Bu ilk örnek sabit yanıt verir. Gönderilen veriyi işleyen, şema ve iş kurallarını gösteren devam çalışması sipariş API’si örneğidir.
Başlamadan önce
- Geliştirme ortamında düzenleyebildiğiniz bir proje açın. Örnekte proje kimliği
hello-apiolarak kullanılır. - Platform geliştirici yetkiniz olsun.
- Gerçek isteği denemek için projenin geliştirme runtime’ını çalıştırabilmelisiniz. Mock için çalışan proje gerekmez.
- Dış erişim denemesi yapacaksanız ortamın gateway, adres ve kimlik doğrulama hazırlığı tamamlanmış olmalıdır. İlk örneği yalnızca Try it üzerinden çalıştırabilirsiniz.
1. Sözleşmeyi oluşturun
- Projede Architecture sekmesine geçin.
- OpenAPI seçin. Lunex
openapi.jsonoluşturur ve API editörünü açar. Dosya zaten varsa API design sekmesini veya Source → Files → openapi.json yolunu kullanın. - General information içinde API title alanına
Hello API, API version alanına1.0.0yazın. - Description alanına API’nin amacını yazın. Markdown kullanırsanız Preview ile görünümü kontrol edebilirsiniz.
Yeni sözleşme OpenAPI 3.1 ile ve /api sunucu taban yolu ile başlar. Taban yolu değiştirmek için Source içindeki servers alanını düzenleyin. Çalıştırma için bir bağıl yol kullanın; örneğin [{"url":"/api"}]. Public alan adını buraya eklemek yerine ortamın API adresini kullanın.
2. İşlemi ekleyin
- Sol ağaçtaki Add simgesinden Operation seçin.
- Overview sekmesinde aşağıdaki değerleri girin.
| Alan | Değer |
|---|---|
| HTTP method | GET |
| Path | /hello |
| Operation ID | getHello |
| Summary | Return a greeting |
- Responses sekmesinde
200yanıtını seçin; yoksa Add response ile ekleyin. - Response description alanını doldurun. Add media type ile
application/jsonekleyin. - Schema’yı bir object olarak tanımlayıp
messageadlı string alanı ekleyin. Content example için{"message":"Hello from Lunex"}kullanın. - Save seçin. OpenAPI hatası varsa hata bağlantısından ilgili alanı düzeltin.
- İlk denemeyi yalnızca Try it ile yapacaksanız API access → API exposure → Disabled seçip Save yapın. Böylece Run öncesinde dış adres ve erişim kaynağı hazırlamanız gerekmez. Dış erişimi yayınlama adımında ayrıca açabilirsiniz.
Alanları tek seferde hazırlamak için Source görünümüne aşağıdaki tam sözleşmeyi de yapıştırabilirsiniz:
{
"openapi": "3.1.0",
"info": {"title": "Hello API", "version": "1.0.0"},
"servers": [{"url": "/api"}],
"paths": {
"/hello": {
"get": {
"operationId": "getHello",
"summary": "Return a greeting",
"responses": {
"200": {
"description": "Greeting returned",
"content": {
"application/json": {
"schema": {
"type": "object",
"required": ["message"],
"properties": {"message": {"type": "string"}}
},
"example": {"message": "Hello from Lunex"}
}
}
}
}
}
}
}
}
3. İşlemin route’unu oluşturun
- Source → Files → Create file seçin.
- Name alanına
hello.camel.yamlyazın ve Save seçin. - Dosyada Code görünümünü açıp aşağıdaki içeriği yerleştirin.
- route:
id: hello-route
from:
uri: direct:getHello
steps:
- setHeader:
name: Content-Type
constant: application/json
- setBody:
constant: '{"message":"Hello from Lunex"}'
- Route editörünün Saved durumunu bekleyin. Route dosyaları otomatik kaydedilir; API sözleşmesinin Save işlemi ayrıdır.
- Designer görünümüne geçin. Direct girişi, header ve body adımlarını görün. Aynı dosyayı görsel olarak da düzenleyebilirsiniz.
direct:getHello, sözleşmedeki operationId ile aynı adı taşımalıdır. Yalnızca route ID’sine getHello yazmak yeterli değildir. Her API işleminin tam olarak bir eşleşen Direct girişi olmalıdır.
4. Örnek ve gerçek yanıtı deneyin
- API design → Paths → /hello → getHello → Try it açın.
- Target → Mock seçip Send kullanın. Örnekteki yanıt görüntülenir; route çalışmaz ve dış sisteme istek gitmez.
- Proje başlığından Run seçin ve çalışma durumunu bekleyin. Proje zaten çalışıyorsa dosyalar kaydedildikten sonra Reload kullanın.
- Try it → Target → Running project seçin; gerekirse Refresh runtime status kullanın.
- Send seçin. Beklenen sonuç
HTTP 200, JSON içerik türü ve aşağıdaki gövdedir:
{"message":"Hello from Lunex"}
Mock sözleşmenizi göstermek içindir. Running project route’un gerçek davranışını çalıştırır. Erişim politikasını sınamak için ayrıca yayımlanan adresi çağırın; yayınlama adımları bu testi açıklar.

Bu örnek ekran Mock sonucunu gösterir. Geliştirme runtime’ı çalıştırılmadan sözleşmedeki örnek yanıt görüntülenmiştir; gerçek route ve erişim politikası için sonraki canlı deneme adımları gerekir.
Var olan bir API’yi içe alın
- Sözleşmeyi JSON OpenAPI 3.0 veya 3.1 biçiminde,
openapi.jsonadıyla hazırlayın. YAML kaynağınız varsa önce JSON’a dönüştürün. - Yeni veya uygun bir projede Source → Files → Upload seçin.
- Dosyayı bırakın, Open file after saving seçili olarak Save and view kullanın.
- Form ve Source üzerinden tanımı inceleyin. Harici
$refdosyalarını sözleşmenin içine taşıyın; tekrar kullanılacak tanımlarıcomponentsaltında yerel referanslarla kullanın. - Her operation için karşılık gelen
direct:<operationId>route’unu oluşturun veya mevcut route girişini uyarlayın. - Kaydedin; Run/Reload ile çalışma öncesi kontrolleri, Try it ile gerçek çağrıyı doğrulayın.
Projede zaten openapi.json varsa mevcut dosyayı açın ve değiştirmeden önce API actions → Compare with Git ile sürüm farkını inceleyin. Başka bir adla yüklenen JSON dosyası, projenin API sözleşmesinin yerini almaz.
Bir adım tamamlanamıyorsa
| Durum | Yapılacak işlem |
|---|---|
| OpenAPI düğmesi görünmüyor | openapi.json zaten mevcut olabilir. API design veya Source → Files üzerinden açın. |
| Save kapalı | Read-only yetkiyi, OpenAPI hata listesini ve uygulanmayı bekleyen JSON/schema alanlarını kontrol edin. |
| Form editing unavailable | Source içinde geçerli JSON, openapi sürümü ve info nesnesi sağlayın. Taslağınız korunur. |
| API is not runnable | Hata mesajındaki Direct girişini oluşturun; çift giriş ve operation ID tekrarlarını giderin. |
| Eski yanıt geliyor | Sözleşmeyi Save ile, route’u Saved durumuyla doğrulayın; ardından Reload yapın. Mock yerine Running project seçtiğinizi kontrol edin. |
| Kaydetmede sürüm çakışması | Kendi değişikliğinizi koruyun, son dosyayla karşılaştırın. Reload latest revision kirli taslağı atmayı onaylatır. |
Sonraki adım: sipariş API’sini uçtan uca hazırlayın. Tek bir alanın nasıl çalıştığını arıyorsanız parametre, istek gövdesi ve hata yanıtı başvurusunu; deployment için Git akışını kullanın.