Drupal 8 Web Servisleri ve RESTful

Ömer Atakoğlu
Ömer Atakoğlu kullanıcısının resmi

Drupal'in en öenmli özelliklerinden biri artık bir modül yüklemeye gerek duymadan REStful olması. Dries Butaert 2012 yılında Drupal'ın geleceği RESTful yazısında bu vizyonundan daha önce bahsetmişti, şimdi bunun gerçekleşiyor olmasını görmek çok sevindirici. Kurumsal şirketler artık içerik yönetim sistemlerinin kullanındıkları diğer uygulamalar ile entegre olarak çalışabilmesini istiyor. Webform'dan aldıkları talepleri Saleforce gibi uygulamalara aktarırken, native mobil uygulamalarına da Drupal ile ürettikleri iverileri HAL+JSON, XML, JSON gibi formatlarda Drupal Core'a entegre edilmiş RESTful  Web Service modülü sayesinde push edebiliyorlar.

REST nedir?

Web servisler bir uygulamaların diğer uygulamalar ile interaksiyona geçebilmesini sağlar. Bu interaksiyonlar genelllikle kaynakları yaratma, okuma, güncelleme ve silme oluyor. REST web serviş oluşturmanın en popüler yöntemlerinden biri. SOAP ve XML-RPC gibi başka formatlarla da wen servisler yapılaiblir ama biz Drupal'da standart olduğu için REST'e bakacağız. REST GET, POST ve  DELETE gibi HTTP metodlarını kullanır.

Popüler kullanımlarından biri mobil aplikasyonun sitenin veritabanından okuyabilmesi ve yazabilmesidir.

Drupal 8

Drupal 8 çekirdeğinde olan web servisler;

RESTful Web Services (rest)

Entity'leri ve diğer kaynakları RESTful web API olarak ortaya çıkarır ve serialization modülü ile birlikte çalışır,

Serialization (serialization)

Verinin serialize edilmesi için servis oluştura JSON ve XML formatlarda uçlar üretir.

Hypertext Application Language (hal)

Serialization modülünü geliştirerek HAL hypermedia format oluşturmasını sağlar. Bu Drupal 8 çekirdeğinde kullanılan temel formattır. The HAL hypermedia format JSON ve XML'de encode edilebilir. Hypertext Application Language ile ilgili daha fazla bilgi için tıklayın.

HTTP Basic Authentication (basic_auth)

Bu modül HTTP Basic authentication sağlayıcı kullanarak temel kullanıcı doğrulama işlemi yapar.  Modül REST API'ye çağrılar atarak kullanıcı adı ve şifre doğrulamalarını yapar.