Ana içeriğe atla

Apinizer DB to API Tasarımcısı ile Oracle Veritabanında Procedure Çağrımı

Önemli Apinizer OracleTypes.CURSOR desteklememektedir. Sadece basit procedure çağrımları servis olarak sunabilmektedir.

1. DB-2-API Oluşturma

Yönetim → Geliştirme → API CreatorDB-2-API ile yeni bir API tanımlanır. DB-2-API Oluşturma DB-2-API’nin ad ve açıklama alanları doldurulup Kaydet ve İlerle (Save and Next) butonuna tıklanır. DB-2-API ayarlarını içeren görsele aşağıda yer verilmiştir: DB-2-API Ayarları

2. Metot Oluşturma

Ekle (Add) butonuna tıklayarak method/endpoint oluşturma paneli açılır. Endpoint Ekleme

2.1 Sadece IN Parametresi Kullanan Prosedür Çağrımı

Demo olarak kullanılan Oracle veritabanı prosedürü aşağıdaki örnekte görülmektedir:
create or replace PROCEDURE sampleProcedureWithInParams (
  pId IN NUMBER, 
  pName IN VARCHAR2, 
  pDesc IN VARCHAR2, 
  pCost IN NUMBER, 
  pPrice IN NUMBER, 
  pCat IN NUMBER
) IS 
begin 
  INSERT INTO "TEST"."PRODUCTS" (
    PRODUCT_ID, 
    PRODUCT_NAME, 
    DESCRIPTION, 
    STANDARD_COST, 
    LIST_PRICE, 
    CATEGORY_ID
  ) VALUES (pId, pName, pDesc, pCost, pPrice, pCat); 
  commit; 
end;
Metot oluşturma ayarlarını içeren görsele aşağıda yer verilmiştir: Metot Oluşturma - IN Parametreleri

2.2 IN ve OUT Parametresi Alan Prosedür Çağrımı

A. Demo olarak kullanılan Oracle veritabanı prosedürü aşağıda görülmektedir:

create or replace PROCEDURE sampleProcedureWithInOutParams (
  pId IN NUMBER, 
  pName OUT VARCHAR2
) IS 
begin 
  select PRODUCT_NAME into pName 
  from PRODUCTS 
  where PRODUCT_ID = pId; 
  commit; 
end;
Metot oluşturma ayarlarını içeren görsele aşağıda yer verilmiştir: Metot Oluşturma - IN/OUT Parametreleri

B. Demo olarak kullanılan Oracle veritabanı prosedürü aşağıda görülmektedir:

create or replace PROCEDURE sampleProcedureWithInOutCursorParams (
  cat_id IN NUMBER, 
  total_cost OUT NUMBER, 
  cursoroutparam OUT SYS_REFCURSOR
) IS 
begin 
  SELECT sum (standard_cost) INTO total_cost 
  FROM PRODUCTS 
  where category_id = cat_id; 
  
  OPEN cursoroutparam FOR 
    SELECT * FROM PRODUCTS 
    where category_id = cat_id; 
end;
Metot oluşturma ayarlarını içeren görsele aşağıda yer verilmiştir: Metot Oluşturma - IN/OUT Cursor Parametreleri

3. API Tanım Belgelerini Görüntüleme

Mesaj İçeriğini Göster (Show Sample Message Body) linkine tıklayarak mesaj içeriği görüntülenebilir. Show Sample Message Body

4. API Proxy Oluşturma

DB-2-API ekranından API Proxy Oluştur (Create API Proxy) butonuna tıklanarak anında API Proxy oluşturulabilir. API Proxy Oluştur API Proxy’i oluştururken aşağıdaki görselde bulunan alanlar doldurularak Kaydet (Save) butonuna tıklanır. API Proxy Oluşturma Formu

4.1 API Proxy’yi Canlıya Alma

API Proxy, tanımı yapılmış ortam (environment) üzerine hızlı bir şekilde yüklenip , istemcilerin tüketimine açılabilir. Bu işlemin yönetimi API Proxy ekranındaki Yükle (Deploy) butonuyla açılan diyalog üzerinden gerçekleştirilebilir. Deploy Dialog

5. Test Etme

5.1 IN Procedure’ünün Test Edilmesi

İlgili metodun beklediği parametreler isteğe eklenip çalıştırıldığında aşağıdaki başarılı yanıt dönmektedir. IN Procedure Test Sonucu

5.2 OUT Cursor Procedure’ünün Test Edilmesi

İlgili metodun beklediği parametreler isteğe eklenip çalıştırıldığında aşağıdaki başarılı yanıt dönmektedir. OUT Cursor Procedure Test Sonucu

5.3 OUT Procedure Test Edilmesi

İlgili metodun beklediği parametreler isteğe eklenip çalıştırıldığında aşağıdaki başarılı yanıt dönmektedir. OUT Procedure Test Sonucu