Bu, nesnelere bazı yollarla erişilmesini sağladığınız anlamına gelir. Örneklerinizde, kullanıcıların önceden tanımlanmış bazı yöntemlerle ( API ) HTTP protokolünü kullanarak nesneleri (genellikle CRUD olarak kısaltılır) oluşturmasına, okumasına, güncellemesine veya silmesine izin verebilirsiniz .
Bu API bir dizi kurala bağlı olabilir - örneğin RESTful API'ler nesneler üzerinde bazı eylemler gerçekleştirmek için HTTP fiillerini kullanır ve kaynakların nasıl tanımlanması / temsil edilmesi ve bu temsiller yoluyla nasıl manipüle edilmesi gerektiğini söyleyen bazı ilkelere bağlı kalırlar .
Bir web uygulaması bağlamında, veritabanınızda depolanmış blog yayınlarınız olduğunu varsayalım. Uygulamanızın kullanıcılarının bu yayınlarla bir şeyler yapabilmesini istiyorsunuz. Web sitenizi mutlaka kullanmak zorunda değildirler , ancak belki de uygulamanıza bağlanacak kendi uygulamalarını kullanabilirler (örneğin, bir blog okuyucu programı).
Uygulamanızın sahibi olarak, uygulamanıza erişebileceğiniz bir arayüz tanımlayabilirsiniz . Örneğin, bazı kullanıcıların blog yayınlarını okuması veya yazması için bir seçenek eklemek isteyebilirsiniz. Arayüz böyle bir şeye benzeyebilir (daha karmaşık bir API örneği için Twitter'ın API tanımına bakın ):
GET /posts/{number} HTTP/1.1
Web uygulamanızdan bir istek istenirse, posta nesnenizin {number}
önceden tanımlanmış bir biçimde bir kimliği olan bir temsilini sağlarsınız
Gerçek bir veritabanı nesnesi veya uygulama nesnesi sağlamadığınızı unutmayın. Nesnenizin bir temsilini sunuyorsunuz
- Bir Eğer
POST /posts HTTP/1.1
bir ile title={text1}&body={text2}
web uygulaması yayınlanır, başlıklı yeni bir yazı nesnesi yaratacak {text1}
o içerecektir {text2}
onun vücut için ve yeni oluşturulan yazının bir kimlik değeri döndürecektir
Yine, kullanıcıya nesnelerinizin temsillerini manipüle etmesine izin veriyorsunuz . Kullanıcının nesnelerinizin gerçekte nasıl göründüğünü bilmesine gerek yoktur ( kullanıcı arabiriminden soyutlanır ).
Nesneyi ortaya çıkarmak, kullanıcıya nesnelerinize erişmek ve bunları değiştirmek için bir arabirim sağlamak anlamına gelir. Bu arabirim, nesnenin gösterimleri ve nesnelerini ortaya çıkaran uygulamanın durumlarıyla ilgili önceden tanımlanmış bazı ek koşullara uyuyorsa, bu arabirimin bir REST (veya RESTful) API'si olduğu söylenir.