สบู่, ที่เหลือและความคิดสร้างสรรค์ของคน
SOAP ต้องการเอกสารคำอธิบายเช่น WSDL เนื่องจากทรัพยากรแต่ละรายการสามารถใช้กับข้อความที่แตกต่างกันได้ไม่มีคำจำกัดความเกี่ยวกับโปรโตคอลเกี่ยวกับข้อ จำกัด ของชื่อ / ข้อความที่เป็นไปได้ที่คุณสามารถจัดการทรัพยากรได้
ตัวอย่างเช่นใน SOAP บริการเว็บของคุณที่อนุญาตให้ลูกค้าจัดการผู้ใช้สามารถเปิดเผยการดำเนินการที่สร้างผู้ใช้ในข้อความต่าง ๆ มากมายเช่น:
addUser
createUser
insertUser
แน่นอนว่าข้อความเหล่านี้เป็นเพียงตัวอย่างเล็กน้อยเพราะฉันเห็นชื่อวิธีการบริการบนเว็บที่ตลกมากมาย มีคนที่สร้างสรรค์จริงๆที่นั่น
ในทางกลับกันหากคุณเปิดเผยระบบพื้นฐานของคุณโดยใช้ web api ที่เคารพหลักการ REST อย่างแท้จริงลูกค้าเพียงแค่ต้องรู้ว่าคุณมีทรัพยากรชื่อผู้ใช้เนื่องจากมีโอกาส 99% ที่คุณสามารถสร้างผู้ใช้ในสิ่งนี้ ทาง
POST /Users
และสิ่งนี้เกิดขึ้นสำหรับแต่ละการดำเนินการที่คุณต้องการเปิดเผยโดยใช้ SOAP หรือ web api REST
แม้จะเป็น SOAP โปรโตคอลซึ่ง จำกัด สิ่งที่คุณสามารถหรือไม่สามารถทำได้และเป็น REST สถาปัตยกรรมสไตล์ซึ่งทำให้มีจุดเปิดมากมายในการทำสิ่งต่าง ๆ มีความพยายามในการกำหนดการประชุมว่าจะเปิดเผยและใช้เว็บ REST ของ REST อย่างไร
คำอธิบายส่วนที่เหลือของเว็บ API
ในด้านของวิธีการอธิบาย REST API เว็บที่ผมสามารถยกวางท่า ไม่ใช่ความพยายามในการสร้าง WSDL เช่น web api REST แต่เป็นการพยายามสร้างมาตรฐานแบบเปิดสำหรับอธิบาย web apis REST
Swagger เป็นข้อมูลจำเพาะและกรอบการใช้งานที่สมบูรณ์สำหรับการอธิบายการผลิตการบริโภคและการแสดงผลเว็บเซอร์วิส RESTful
ฉันใช้ Swagger เป็นอย่างมากและรักมันเป็นอย่างมากส่วนใหญ่เป็นเพราะSwagger UIที่ให้คุณสร้างไลฟ์คอนโซลและเอกสารสำหรับเว็บ API ของคุณ
มีการใช้งาน Swagger สำหรับภาษาส่วนใหญ่: C #, Java, Python, Ruby และอื่น ๆ
หากคุณใช้ ASP .NET Web API มีโครงการบางอย่างที่สร้างสเปค Swagger โดยอัตโนมัติเช่นSwagger.NET
สร้างลูกค้าให้กับส่วนที่เหลือของเว็บ API
เนื่องจากข้อ จำกัด ของ REST เช่นชุดคำกริยาที่ จำกัด (GET, POST, PUT, DELETE และอื่น ๆ ) จึงไม่สามารถแพร่กระจายเพื่อสร้างไลบรารี่ของไคลเอ็นต์ให้กับ web api REST
โครงการเช่นWebApiProxyสามารถสร้างลูกค้าได้อย่างง่ายดายด้วย C # และ Javascript
อนุสัญญาสำหรับส่วนที่เหลือของเว็บ API
เพื่อให้สิ่งมีชีวิตของเราในฐานะนักพัฒนาง่ายขึ้นเป็นสิ่งที่ดีกำหนดระเบียบบางส่วนของวิธีการ api REST เว็บของเราจะทำงานความพยายามที่ดีที่สุดที่ฉันรู้ในสาขานี้คือApigee - ebook ของ Web Api Design ที่ดี e-book ไม่ใช่ความพยายามในการสร้างพระคัมภีร์หรือมนต์เกี่ยวกับวิธีการออกแบบ API ของคุณ แต่เป็นชุดของข้อตกลงที่พบในเว็บ REST apis ขนาดใหญ่เช่น Twitter, Facebook, Linkedin, Google ฯลฯ