SABUN, REST VE İNSANLARIN YARATICILIĞI
SOAP, WSDL gibi bir açıklama belgesine ihtiyaç duyuyor, çünkü her kaynak farklı mesajlarla tüketilebiliyor, protokolde bir kaynağı işleyebilecek olası adlar / mesajların kısıtlamaları hakkında bir tanım yok.
Örneğin, SOAP’te müşterilerin bir kullanıcıyı manipüle etmesine izin veren web servisiniz, bir kullanıcı oluşturan işlemi birçok mesajda açığa çıkarabilir, örneğin:
addUser
createUser
insertUser
Tabii ki, bunlar sadece birkaç örnek mesaj, çünkü çok sayıda komik web servis metodu adı görüyorum. Orada gerçekten yaratıcı insanlar var.
Öte yandan, temel sisteminizi REST prensiplerine gerçekten saygı duyan web api kullanarak ifşa ediyorsanız, müşterinin sadece Kullanıcılar adlı bir kaynağa sahip olduğunu bilmesi gerekir, çünkü bu konuda bir kullanıcı yaratma şansınızın% 99’u vardır. yol
POST /Users
Ve bu SOAP veya bir web api REST kullanarak göstermek istediğiniz her işlem için gerçekleşir.
SOAP olmasına rağmen, yapamadıklarınızı veya yapamadıklarınızı kısıtlayan bir protokol ve REST, bir şeyler yapmanın birçok açık noktasını bırakan bir stil mimarisidir. REST web apis'lerinin nasıl ortaya çıkarılacağı ve tüketileceği ile ilgili sözleşmelerin tanımlanması için çabalar vardır.
WEB API RESTİ TANIMI
Bir web api REST'in nasıl tanımlanacağı alanında Swagger'dan bahsedebilirim . Api REST web gibi bir WSDL oluşturma denemesi değildir, ancak web apis REST'i tanımlamak için açık bir standart oluşturma iyi bir girişimdir.
Swagger, RESTful web servislerini tanımlamak, üretmek, tüketmek ve görselleştirmek için kullanılan bir şartname ve eksiksiz çerçeve uygulamasıdır.
Swagger'ı çok kullanıyorum ve gerçekten seviyorum, çünkü özellikle web api'niz için güzel bir canlı konsol ve dokümantasyon oluşturmanıza izin veren Swagger UI .
Birçok dilde Swagger'ın birçok uygulaması vardır: C #, Java, Python, Ruby, vs.
ASP .NET Web API kullanıyorsanız, Swagger.NET gibi otomatik olarak Swagger özelliğini oluşturmak için bazı projeler var.
WEB API RESTESİNE ÜRETEN MÜŞTERİLER
Çünkü REST'in kısıtlamaları, sınırlı fiil grubu (GET, POST, PUT, DELETE, vb.) Gibi, bir web api REST'ına bir istemci kütüphanesi oluşturmak kadar zor değildir.
WebApiProxy gibi projeler kolaylıkla C # ve Javascript istemcileri oluşturabilir.
WEB API RESTİ İÇİN SÖZLEŞMELER
Yaşamlarımızı geliştiriciler olarak daha kolay tutmak için web api REST'in nasıl davranacağına dair bazı sözleşmeler tanımlamak iyidir, bu alanda en iyi gayret gösterdiğim Apigee - Web Api Tasarım e-kitap . E-kitap, api'nizi nasıl tasarlayacağınızla ilgili bir incil veya mantra yaratma çabası değil, Twitter, Facebook, Linkedin, Google vb.