คำถามติดแท็ก http-response

8
จะใช้รหัสสถานะ HTTP 404 ใน API เมื่อใด
ฉันทำงานในโครงการและหลังจากโต้เถียงกับคนที่ทำงานเป็นเวลานานกว่าหนึ่งชั่วโมง ฉันตัดสินใจที่จะรู้ว่าคนในการแลกเปลี่ยนสแต็คอาจพูดอะไร เรากำลังเขียน API สำหรับระบบมีแบบสอบถามที่ควรส่งทรีขององค์กรหรือต้นไม้เป้าหมาย โครงสร้างขององค์กรเป็นองค์กรที่มีผู้ใช้อยู่กล่าวอีกนัยหนึ่งต้นไม้นี้ควรมีอยู่เสมอ ในองค์กรต้นไม้แห่งเป้าหมายควรมีอยู่เสมอ (นั่นคือจุดเริ่มต้นของการโต้แย้ง) ในกรณีที่ไม่มีต้นไม้เพื่อนร่วมงานของฉันตัดสินใจว่ามันจะถูกต้องที่จะตอบการตอบกลับด้วยรหัสสถานะ 200 จากนั้นก็เริ่มขอให้ฉันแก้ไขรหัสของฉันเพราะแอปพลิเคชันล้มลงเมื่อไม่มีต้นไม้ ฉันจะพยายามทำให้เปลวไฟและความโกรธเคืองน้อยลง ฉันแนะนำให้เพิ่มข้อผิดพลาด 404 เมื่อไม่มีต้นไม้ อย่างน้อยก็ให้ฉันรู้ว่ามีบางอย่างผิดปกติ เมื่อใช้ 200 ฉันต้องเพิ่มการตรวจสอบพิเศษในการตอบกลับของฉันในการติดต่อกลับสำเร็จเพื่อจัดการข้อผิดพลาด ฉันคาดหวังว่าจะได้รับวัตถุ แต่จริง ๆ แล้วฉันอาจได้รับการตอบสนองที่ว่างเปล่าเพราะไม่พบอะไรเลย มันฟังดูยุติธรรมมากที่จะทำเครื่องหมายการตอบรับเป็น 404 และจากนั้นสงครามก็เริ่มขึ้นและฉันได้รับข้อความว่าฉันไม่เข้าใจสกีมาโค้ดสถานะ HTTP ดังนั้นฉันมาที่นี่แล้วถามว่าเกิดอะไรขึ้นกับ 404 ในกรณีนี้ ฉันยังได้ข้อโต้แย้งว่า " ไม่พบอะไรเลยดังนั้นจึงถูกต้องที่จะคืน 200" ฉันเชื่อว่ามันผิดเพราะต้นไม้ควรมีอยู่เสมอ หากเราไม่พบอะไรและเราคาดหวังบางสิ่งมันควรจะเป็น 404 ข้อมูลเพิ่มเติม, ฉันลืมที่จะเพิ่ม URL ที่ดึงมา องค์กร /OrgTree/Get เป้าหมาย /GoalTree/GetByDate?versionDate=... /GoalTree/GetById?versionId=... ความผิดพลาดของฉันจำเป็นต้องใช้ทั้งพารามิเตอร์ หาก versionDate ใด …

6
“ ไม่มีผลลัพธ์” ควรเป็นข้อผิดพลาดในการตอบสนองสงบหรือไม่?
ฉันจะอธิบายตัวอย่าง: ฉันเริ่มทำ API สำหรับร้านเบเกอรี่ API api.examplebakery.com/search?q=.....ที่จะช่วยให้คนที่จะค้นหาแค็ตตาล็อกของพวกเขาสำหรับผลิตภัณฑ์เบเกอรี่เช่นทำที่บ้านมิ้นต์คุกกี้ช็อคโกแลตชิปใช้ มีคนใช้รายการนี้เพื่อค้นหาผลิตภัณฑ์ที่มีชื่อpineapple-banana flavoured cookiesและจะไม่พบผลลัพธ์ใด ๆ ควรส่งคืนสิ่งนี้เป็นข้อผิดพลาดหรือไม่? การค้นหาไม่ล้มเหลว API ค้นหาและสรุปว่าประสบความสำเร็จไม่พบคุกกี้ API ไม่ควรส่งคืน404เนื่องจากพบ API จริงๆ

11
REST API ควรส่งคืนข้อผิดพลาดเซิร์ฟเวอร์ภายใน 500 ข้อเพื่อระบุว่าแบบสอบถามอ้างอิงวัตถุที่ไม่มีอยู่หรือไม่
ฉันกำลังทำงานกับ REST API ซึ่งอยู่บนเซิร์ฟเวอร์ที่จัดการข้อมูลสำหรับอุปกรณ์ IoT จำนวนมาก งานของฉันคือการสืบค้นเซิร์ฟเวอร์โดยใช้ API เพื่อรวบรวมข้อมูลประสิทธิภาพเฉพาะเกี่ยวกับอุปกรณ์ดังกล่าว ในอินสแตนซ์หนึ่งฉันได้รับรายการอุปกรณ์ที่มีอยู่และตัวระบุที่เกี่ยวข้องจากนั้นจึงสอบถามเซิร์ฟเวอร์เพื่อรับรายละเอียดเพิ่มเติมโดยใช้ตัวระบุเหล่านั้น (GUID) เซิร์ฟเวอร์ส่งคืน500 Internal Server Errorแบบสอบถามสำหรับหนึ่งใน ID เหล่านั้น ในแอปพลิเคชันของฉันมีข้อผิดพลาดเกิดขึ้นและฉันไม่เห็นรายละเอียดเกี่ยวกับข้อผิดพลาด หากฉันตรวจสอบการตอบสนองอย่างใกล้ชิดกับบุรุษไปรษณีย์ฉันจะเห็นว่าเซิร์ฟเวอร์ส่งคืน JSON ในเนื้อหาซึ่งมี: errorMessage: "This ID does not exist". ไม่สนใจข้อเท็จจริงที่เซิร์ฟเวอร์ระบุรหัสเริ่มต้นนั่นเป็นปัญหาแยกต่างหากสำหรับนักพัฒนา REST API ควรส่งคืน a 500 Internal Server Errorเพื่อรายงานว่าแบบสอบถามอ้างอิงวัตถุที่ไม่มีอยู่หรือไม่? ตามความคิดของฉันรหัสตอบกลับ HTTP ควรอ้างอิงอย่างเคร่งครัดถึงสถานะของการเรียกใช้ REST แทนที่จะใช้กลไกภายในของ API ฉันคาดหวังว่าจะ200 OKมีการตอบสนองที่มีข้อผิดพลาดและคำอธิบายซึ่งจะเป็นกรรมสิทธิ์ของ API ที่เป็นปัญหา มันเกิดขึ้นกับฉันว่ามีความคาดหวังที่แตกต่างกันขึ้นอยู่กับว่าการเรียกใช้ REST นั้นมีโครงสร้างอย่างไร ลองพิจารณาตัวอย่างเหล่านี้: …

2
ระดับการอนุญาตของผู้ใช้ใน RESTful API
สมมติว่าฉันมี บริษัท ที่จัดอันดับแมวที่น่ารักที่สุดในอินเทอร์เน็ต ฉันเสนอทรัพยากรที่/cats/ให้แมวที่น่ารักและน่ารักคนล่าสุด ผู้ใช้สามารถได้รับแมว 3 อันดับแรกหากพวกเขาไม่ได้ชำระเงินทั้งหมดหรือลงทะเบียน แมว 10 อันดับแรกถ้าพวกเขาจ่าย 337 ดอลลาร์และเข้าสู่ระบบและแมว 100 อันดับแรกถ้าพวกเขาจ่ายเงิน 1,337 ดอลลาร์และเข้าสู่ระบบฉันมี 'ตัวระบุผู้ใช้' เมื่อทำการร้องขอ ในระยะสั้นผู้บริโภค/cats/จะได้รับจำนวนที่แตกต่างกันของแมวอยู่บนพื้นฐานของพวกเขาใช้การจัดอันดับ ' ฉันมีตัวระบุผู้ใช้ในส่วนสิ้นเปลือง แต่ฉันไม่มีระดับตัวแทนผู้ใช้อย่างชัดเจนในส่วนสิ้นเปลือง ฉันต้องการแจ้งให้ผู้ใช้ทราบว่าพวกเขาสามารถอัพเกรดการสมัครสมาชิกเมื่อทำการร้องขอ นั่นคือฉันต้องการที่จะแยกแยะระหว่าง3 แมวตั้งแต่ผมเพียง แต่นำเสนอ 3 แมวและ3 แมวเนื่องจากว่าสิ่งที่ระดับผู้ใช้ที่ได้รับอนุญาต อะไรคือแนวปฏิบัติที่ดีที่สุดสำหรับการ จำกัด ทรัพยากรเนื่องจากผู้บริโภคมีสิทธิพิเศษไม่เพียงพอและ จำกัด เนื่องจากเป็นสิ่งที่ผู้บริโภคมี ลูกค้าจะรู้ได้อย่างไรว่าพวกเขาสามารถอัพเกรดการจัดอันดับของพวกเขา? นั่นคือพวกเขามีทรัพยากรที่ จำกัด เพราะพวกเขาไม่มีสิทธิ์ การปฏิบัติที่ดีที่สุดที่นี่คืออะไร? หมายเหตุนี่คือการทำให้เข้าใจง่ายโดยรวมของกรณีจริง นอกจากนี้เพื่อชี้แจง - อ่านชื่นชม ปรับปรุง: นี่คือตัวเลือกที่เราพิจารณาแล้ว: การจัดเก็บวัตถุการอนุญาตของผู้ใช้หนึ่งครั้งบนไคลเอนต์การสอบถามมันเมื่อดำเนินการเข้าสู่ระบบหรืออัพเกรดบัญชี การส่งผ่านnullค่าใน JSON บ่งชี้ว่ามีอยู่จริง แต่ไม่มีการถ่ายโอนจริง …
23 rest  http  url  http-response 

2
แนวทางปฏิบัติที่ดีที่สุดสำหรับการรับรองความถูกต้องของเว็บที่ใช้คุกกี้คืออะไร
ฉันทำงานเกี่ยวกับโปรเจคเล็ก ๆ ที่ใช้ CGI และ Python (ความสามารถในการขยายตัวไม่ใช่ปัญหาและจำเป็นต้องเป็นระบบที่ง่ายมาก) ฉันคิดว่าจะใช้การรับรองความถูกต้องโดยใช้คุกกี้และสงสัยว่ามีวิธีปฏิบัติที่ดีที่สุดที่กำหนดไว้หรือไม่ เมื่อผู้ใช้รับรองความถูกต้องเรียบร้อยแล้วฉันต้องการใช้คุกกี้เพื่อค้นหาว่าใครเข้าสู่ระบบบ้าง สิ่งที่เป็นไปตามแนวทางปฏิบัติที่ดีที่สุดควรเก็บไว้ในคุกกี้ดังกล่าวหรือไม่
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.