คำถามติดแท็ก hateoas

5
HATEOAS เสนออะไรให้ค้นพบและแยกส่วนนอกเหนือจากความสามารถในการเปลี่ยนโครงสร้าง URL ของคุณอย่างอิสระมากขึ้นหรือน้อยลง
เมื่อเร็ว ๆ นี้ฉันได้อ่านเกี่ยวกับ Hypermedia ว่าเป็น Engine of Application State (HATEOAS) ซึ่งเป็นข้อ จำกัด ที่อ้างว่าทำให้ API ของเว็บ "สงบ" อย่างแท้จริง โดยทั่วไปแล้วจะรวมถึงลิงก์ที่มีการตอบสนองต่อการเปลี่ยนแปลงที่เป็นไปได้ทั้งหมดที่คุณสามารถทำได้จากสถานะปัจจุบัน ให้ฉันอธิบายสิ่งที่ HATEOAS ตั้งอยู่บนความเข้าใจของฉัน - และโปรดแก้ไขให้ถูกต้องหากฉันพลาดอะไรไป / GET: { "_links": { "child": [ { "href": "http://myapi.com/articles", "title": "articles" } ] } } /articles?contains=HATEOAS GET: { "_items": [ { "uri": "http://myapi.com/articles/0", "title": "Why Should …
61 rest  http  hateoas 

3
HATEOAS ให้ความสำคัญกับลูกค้าเป็นอย่างไร
ในขณะที่ฉันเข้าใจว่า HATEOAS นั้นเกี่ยวกับการส่งลิงก์ตอบกลับแต่ละลิงก์พร้อมด้วยข้อมูลเกี่ยวกับสิ่งที่ต้องทำ ตัวอย่างง่ายๆอย่างหนึ่งสามารถพบได้ง่ายบนอินเทอร์เน็ต: ระบบธนาคารพร้อมกับทรัพยากรบัญชี ตัวอย่างแสดงการตอบสนองนี้หลังจากได้รับการร้องขอไปยังทรัพยากรบัญชี GET /account/12345 HTTP/1.1 HTTP/1.1 200 OK <?xml version="1.0"?> <account> <account_number>12345</account_number> <balance currency="usd">100.00</balance> <link rel="deposit" href="/account/12345/deposit" /> <link rel="withdraw" href="/account/12345/withdraw" /> <link rel="transfer" href="/account/12345/transfer" /> <link rel="close" href="/account/12345/close" /> </account> ร่วมกับข้อมูลมีลิงค์บอกสิ่งที่สามารถทำได้ต่อไป หากยอดคงเหลือเป็นลบเรามี GET /account/12345 HTTP/1.1 HTTP/1.1 200 OK <?xml version="1.0"?> <account> <account_number>12345</account_number> <balance currency="usd">-25.00</balance> <link …

4
'การค้นพบ' ใน REST API ต้องการอะไรเมื่อลูกค้ายังไม่ก้าวหน้าพอที่จะใช้มันได้
การพูดคุยที่หลากหลายที่ฉันได้ดูและแบบฝึกหัดที่ฉันสแกนบน REST ดูเหมือนจะเน้นสิ่งที่เรียกว่า 'การค้นพบ' สำหรับความเข้าใจที่ จำกัด ของฉันคำศัพท์น่าจะหมายถึงว่าลูกค้าควรจะสามารถไปhttp://URL- และรับรายการสิ่งที่สามารถทำได้โดยอัตโนมัติ สิ่งที่ฉันมีปัญหาในการทำความเข้าใจ - คือ 'ลูกค้าซอฟต์แวร์' ไม่ใช่มนุษย์ พวกเขาเป็นเพียงโปรแกรมที่ไม่มีความรู้ที่เข้าใจง่ายเพื่อทำความเข้าใจว่าจะทำอย่างไรกับลิงก์ที่ให้ไว้ มีเพียงคนเท่านั้นที่สามารถไปที่เว็บไซต์และทำความเข้าใจกับข้อความและลิงก์ที่นำเสนอและดำเนินการกับมัน ดังนั้นจุดของการค้นพบคืออะไรเมื่อรหัสลูกค้าที่เข้าถึง URL ที่ค้นพบดังกล่าวไม่สามารถทำอะไรกับมันได้เว้นแต่ผู้พัฒนามนุษย์ของลูกค้าจะทำการทดลองจริง ๆ กับทรัพยากรที่นำเสนอ? ดูเหมือนว่าสิ่งเดียวกันกับการกำหนดชุดของฟังก์ชั่นที่มีอยู่ในคู่มือเอกสารเพียงจากทิศทางที่แตกต่างและจริง ๆ แล้วเกี่ยวข้องกับการทำงานมากขึ้นสำหรับนักพัฒนา เหตุใดแนวทางที่สองนี้ของการกำหนดล่วงหน้าสิ่งที่สามารถทำได้ในเอกสารภายนอกกับทรัพยากร REST ที่แท้จริงถือว่าต่ำกว่า
20 rest  api  hateoas 

5
REST และ HATEOAS เป็นสถาปัตยกรรมที่ดีสำหรับบริการเว็บหรือไม่?
หากฉันเข้าใจอย่างถูกต้อง REST ได้รับการยอมรับอย่างเป็นทางการจาก Roy Fielding เป็นแบบจำลองเชิงพรรณนาของสถาปัตยกรรมของเว็บ AFAIK Fielding ไม่ได้เรียกร้อง REST ว่าดีอะไรเขาแค่อธิบายสถาปัตยกรรมแบบพฤตินัยของเว็บ เว็บได้มาถึงจุดนี้พิสูจน์แล้วว่าระบบไฮเปอร์เท็กซ์แบบกระจายที่ประสบความสำเร็จอย่างมากดังนั้นการตรวจสอบ REST ในรูปแบบนี้จึงเป็นสถาปัตยกรรมที่ประสบความสำเร็จสำหรับโดเมนของไฮเปอร์มีเดียแบบกระจาย บริการเว็บ REST สร้างขึ้นโดยใช้สถาปัตยกรรม REST กับ API แต่จริงๆแล้วมีเหตุผลใดที่จะคิดว่า REST เป็นสถาปัตยกรรมที่ต้องการสำหรับโดเมนนี้หรือไม่? มีหลักฐานที่ระบุว่า HATEOAS เป็นหลักการออกแบบที่มีประโยชน์สำหรับการสื่อสารระหว่างเครื่องจักรกับเครื่องหรือไม่? ความกังวลของฉันคือ HATEOAS เหมาะสมกับไฮเปอร์มีเดียเนื่องจากมีประเภทเนื้อหาที่รู้จักกันน้อย (HTML, ภาพ, วิดีโอและอื่น ๆ ) และลูกค้ารู้วิธีใช้ แต่สำหรับ API ประเภทเนื้อหานั้นมีความเฉพาะเจาะจงมากและสามารถบริโภคได้ในลักษณะที่มีความหมายโดยลูกค้าหากลูกค้าได้รับการตั้งโปรแกรมให้บริโภคโดยเฉพาะ การส่งคืน URL ไปยังไคลเอ็นต์ไม่ได้ทำให้ตัวเองสามารถใช้ทรัพยากรที่ระบุได้
15 rest  hateoas 

3
มีกลยุทธ์ในการค้นหาบริการ REST โดยใช้ HATEOAS หรือไม่
เมื่อสร้างบริการ REST ด้วยข้อ จำกัดHATEOASมันง่ายมากที่จะโฆษณาการมีอยู่ของทรัพยากรผ่านการเชื่อมโยง คุณทำGETถึงรูทของเว็บไซต์ของฉันและฉันตอบกลับด้วยเอกสารรูทที่แสดงรายการทรัพยากรระดับแรกทั้งหมด: { users: { href: "/users" } questions { href: "/questions" } } ลูกค้าที่เข้าใจวิธีการอ่านhrefค่าเหล่านี้สามารถดำเนินการGETตามคำขอและค้นหาทรัพยากรปัจจุบันทั้งหมดที่มีอยู่ในแอปพลิเคชัน สิ่งนี้ทำงานได้ดีสำหรับสถานการณ์การค้นหาขั้นพื้นฐาน แต่ไม่ได้ระบุว่าทรัพยากรสามารถสืบค้นได้หรือไม่ ตัวอย่างเช่นอาจมีเหตุผลที่จะดำเนินการ: GET /users?surname=Smith มีรูปแบบใดบ้างที่สามารถแสดงความสามารถในการสืบค้นด้วยข้อมูลที่เพียงพอที่ลูกค้าสามารถสร้างแบบสอบถามแบบเชื่อมโยงกันโดยไม่จำเป็นต้องมีความรู้มาก่อนเกี่ยวกับทรัพยากรหรือไม่ นอกจากนี้ยังมีวิธีที่จะแสดงว่าลูกค้าได้รับอนุญาตให้ดำเนินการPOSTไปยังสถานที่ที่กำหนดพร้อมกับสถานที่ที่คาดหวัง ตัวอย่างเช่นอาจเป็นไปได้ว่าลูกค้าจะทำสิ่งต่อไปนี้เพื่อสร้างทรัพยากรคำถามใหม่: POST /questions { title: "Are there strategies for discovering REST services using HATEOAS?", body: "When building a REST service with the HATEOAS constraint, it's …
10 design  rest  hateoas 
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.