เว็บไซต์ควรใช้ API สาธารณะหรือไม่


31

ฉันเริ่มเขียน webservice และฉันสร้างด้วย nodeJS และ RESTfulish

จากสิ่งที่ฉันรวบรวม:

  • ข้อดีคือคุณไม่ต้องทำซ้ำรหัส
  • ข้อเสียคือคุณ:
    • จะอัปเดต API สาธารณะเป็นประจำ แต่ควรแก้ไขด้วยการกำหนดเวอร์ชัน
    • ไม่สามารถทำการแคชเฉพาะบริการและเพิ่มประสิทธิภาพได้จริงๆ

การปฏิบัติที่ดีที่สุดคืออะไร? เว็บไซต์เช่น Stack Exchange, Github, Twitter และอื่น ๆ ใช้ API ของตัวเองสำหรับลูกค้าของพวกเขาหรือไม่?

api 

12
การกินอาหารทดลองของคุณเองจะช่วยให้คุณปรับปรุง API สาธารณะของคุณ
Ben Brocka

นั่นคือวิธีที่อเมซอนทำ
OliverS

2
หากต้องการเพิ่มจุดของ OlverS ให้ดูGoogle แพลตฟอร์ม Rant
Brian

คำตอบ:


37

คุณควรใช้ API ของคุณเองอย่างแน่นอน แนวคิดนี้เป็นที่รู้จักกันอย่างกว้างขวางว่าเป็นลองใช้และมีหลายผลประโยชน์เกินหลีกเลี่ยง duplciation รหัส

  • พฤติกรรมที่สอดคล้องกันระหว่างเว็บไซต์ / ผลิตภัณฑ์ของคุณกับสิ่งที่ผู้ใช้ API จะเขียน (เช่นความคาดหวังของพวกเขาที่มีต่อ API ของคุณ)
  • การทดสอบรูปแบบอื่น
  • คุณสามารถและจะพบข้อบกพร่องใน API ก่อนที่ลูกค้าของคุณทำทำให้การแก้ปัญหาของพวกเขามีค่าใช้จ่ายน้อยลง

แม้ว่าฉันจะโต้แย้งกับหนึ่งในคะแนนของคุณ: คุณไม่ควรอัปเดต API บ่อยครั้ง ใช้เวลาในการออกแบบและพิสูจน์ API ที่จะคงอยู่ชั่วขณะ โชคดีที่การเลี้ยงสุนัขด้วยวิธีนี้จะบังคับใช้ ที่ที่คุณจะมีรหัสลูกค้าที่เสียก่อนหน้านี้ตอนนี้คุณจะทำลายรหัสของคุณเอง เมื่อคุณต้องใช่การกำหนดเวอร์ชันเป็นโซลูชัน แต่ควรหลีกเลี่ยง


0

ด้วยเหตุผลบางอย่างมันจะไม่ให้ฉันเข้าสู่ระบบในฐานะโปสเตอร์ของคำถาม แต่มันก็เป็นฉัน ฉันไม่สามารถยอมรับคำตอบของคุณหวังว่าจะทำได้มันทำให้รู้สึกมาก

อย่างไรก็ตามคุณจะไม่ต้องการอัปเดต API ได้อย่างไร แล้วการเพิ่มฟีเจอร์ใหม่การลบฟีเจอร์ที่ไม่เป็นที่นิยมการรีแฟคเตอร์ ฯลฯ


เฮ้ นี่ควรเป็นความเห็นต่อคำตอบของเขา - แต่ฉันไม่คิดว่าคุณมีตัวแทนเพียงพอที่จะแสดงความคิดเห็น อย่างไรก็ตามประเด็นก็คือว่าคุณไม่ควรปรับปรุง API ได้บ่อย และถึงกระนั้นการเพิ่มคุณสมบัติใหม่ก็ไม่มีปัญหา - มันไม่สามารถทำลายรหัสที่มีอยู่ได้ เหตุใดจึงต้องลบคนที่ไม่เป็นที่นิยม ทำให้เลิกใช้และลบบางครั้งในอนาคตหลังจากผู้คนมีเวลานานในการตอบสนองต่อการคัดค้าน
Max

2
การเพิ่มเมธอดให้กับ API นั้นเป็นเรื่องปกติการเปลี่ยน API ที่มีอยู่นั้นไม่ดีเพราะมันจะทำให้โค้ดแตกหักซึ่งขึ้นอยู่กับ API
Bryan Oakley

@ stanm87: แม็กซ์และไบรอันพูดได้ดี คุณควรหลีกเลี่ยงการเปลี่ยนแปลงสัญญาของ API ของคุณ (นั่นคืออินเทอร์เฟซและการทำงานพฤติกรรม) ผู้คนจะขึ้นอยู่กับว่าถ้าพวกเขาจะใช้ API ของคุณและหากคุณเปลี่ยนมันก็จะทำลายรหัสของพวกเขา
Steven Evers

ขอบคุณมากสำหรับการชี้แจง @ Max ฉันแน่นอนไม่สามารถแสดงความคิดเห็นในคำตอบของเขา
stanm87
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.