rest yoluyla web servis geliştirme
DESCRIPTION
TRANSCRIPT
REST yoluyla Web Servis Geliştirme
Emir KarşıyakalıLead Developer at UBIT
twitter.com/EmirKarsiyakaligithub.com/emir
emir.im !
API nedir?• Application Program Interface
API Teknikleri• REST (Representational State Transfer)
• Remote Procedure Calls (RPC)
• Simple Access Protocol (SOAP)
RPC?• Kullanıcının prosedür isimlerini bilmeleri gerekiyor.
• Spesifik prosedür parametreleri ve istekleri var.
• Requires a URI per method/function (create, edit, delete)
SOAP?• Çalışma Şekli ve Method’larımızı açığa çıkarıyor.
• XML tabanlı olduğu için verilerimizin boyutu artıyor.
• Bütün istekler POST aracılığı ile gidiyor.
POST /InStock HTTP/1.1!Host: www.example.org!
Content-Type: application/soap+xml; charset=utf-8!Content-Length: nnn
Request Örneği:
HTTP/1.1 200 OK Content-Type: application/soap+xml; charset=utf-8
Content-Length: nnn
Response Örneği
REST• Data döner, methodlarınızı ortaya çıkarmaz.
• XML ve JSON kullanılabilir
• HTTP fiileri kullanılır
• Ajax (JS) dostu
• Stateless
• Cacheable
HTTP Status Codes• 20x - Cool
• 30x - Ask that dude over there.
• 40x - You fucked up!
• 50x - We fucked up!
HTTP Verbs• GET (Read)
• POST (Create)
• PUT (Update)
• DELETE (Delete)
• PATCH
Argümanlar • REST API yazmak ve maintain etmek güç!
• REST güvenli değil.
• REST API’lar için herhangi bir standart yok!
REST’in sundukları• Generality
• Familiarity
• Scalability
• Segmentation
• Speed
• Security
• Encapsulation
Teşekkürler!