ผยอง
การใช้ Swagger สำหรับการแก้ไขปัญหาแอปพลิเคชัน
เครื่องมือถัดไปที่เราสามารถใช้ทดสอบและดีบักแอปพลิเคชันของเราคือ Swagger เราได้ทำความคุ้นเคยกับมันก่อนหน้านี้แล้ว อย่างที่คุณจำได้ ในนั้น คุณจะเห็นจุดสิ้นสุดทั้งหมดของแอปพลิเคชันที่กำลังพัฒนา เรียกใช้ และรับผลลัพธ์ ลองดูในรายละเอียดเพิ่มเติม
การอนุญาตใน Swagger
ก่อนอื่น โปรดจำไว้ว่า Middleware Token Auth เปิดใช้งานโดยค่าเริ่มต้น ซึ่งจะควบคุมการเข้าถึงปลายทางสำหรับปลายทางส่วนใหญ่ ปฏิเสธการเข้าถึงสำหรับผู้ใช้ที่ไม่ได้รับอนุญาตหรือแม้แต่ส่งผ่าน แต่ไม่มีสิทธิ์การเข้าถึงที่เหมาะสม (เช่น ผู้ใช้เหล่านี้อยู่ในกลุ่ม Users และอุปกรณ์ปลายทางมีไว้สำหรับ Admins โดยเฉพาะ)
โทเค็นการให้สิทธิ์ที่จำเป็นสามารถพบได้โดยใช้ Developer Tools สิ่งที่คุณต้องทำคือลงชื่อเข้าใช้เว็บแอปพลิเคชันที่เผยแพร่แล้วทำตามคำขอใดๆ โทเค็นจะถูกใช้ใน Request Headers ตัวอย่างเช่น คุณสามารถดูภาพหน้าจอได้สูงขึ้นเล็กน้อยในขณะที่เราส่งคำขอ GET เพื่อรับข้อมูลเกี่ยวกับประเทศต่างๆ
มาดูกันว่าคุณจะได้รับโดยตรงใน Swagger ได้อย่างไร ในการดำเนินการนี้ ให้ค้นหาจุดสิ้นสุดที่รับผิดชอบการอนุญาต ( กลุ่มการตรวจสอบสิทธิ์ POST /Auth/ Auth สิ้นสุด) แล้วคลิกปุ่ม " Try it out" ตำแหน่งข้อมูลนี้รับพารามิเตอร์สองตัว คือ Login และ Password ระบุและคลิก Execute เพื่อส่งคำขอ อย่างไรก็ตาม ที่นี่ การใช้ Developer Tools อาจมีประโยชน์เช่นกัน คุณสามารถเปิดเพื่อศึกษารายละเอียดเพิ่มเติมเกี่ยวกับคำขอและการตอบสนอง
การตอบสนองจะได้รับโทเค็นที่จำเป็น รวมถึงข้อมูลโดยละเอียดเกี่ยวกับผู้ใช้และเซสชันของเขา
คุณจะเห็นว่าคำตอบที่ได้รับไม่แตกต่างจากที่เราเห็นใน Developer Tools มากนัก ในขณะเดียวกัน Swagger มีข้อได้เปรียบที่ปฏิเสธไม่ได้ในการทำให้สามารถทดสอบคำขอและเปิดใช้จุดสิ้นสุดด้วยพารามิเตอร์ที่จำเป็นในรูปแบบที่สะดวก แต่ก่อนที่จะดำเนินการทดสอบดังกล่าว ให้คลิก Authorize และใช้โทเค็นที่ได้รับเพื่อยืนยันการอนุญาต
ส่งคำขอโดยใช้ Swagger
ตอนนี้ให้ส่งคำขอผ่าน Swagger เพื่อรับข้อมูลเกี่ยวกับเมืองแรกที่มีประชากรมากกว่า 5 ล้านคนและคำว่า " World " ในคำอธิบาย ในการทำเช่นนี้ ให้เปิด GET /city/ endpoint และกรอกพารามิเตอร์ที่จำเป็น:
- _limit = 1 (ต้องการเมืองเดียวเท่านั้น)
- population_from = 5000000 (ควรตรวจสอบค่าประชากร)
- _search_in = info (ค้นหาเฉพาะในช่อง info )
- _search = World (มองหาคำว่า World )
การตอบกลับที่ได้รับแสดงว่าคำขอได้รับการดำเนินการอย่างถูกต้อง เราได้รับข้อมูลเกี่ยวกับเมืองดังกล่าว (เราเห็นว่า count = 3 ซึ่งหมายความว่าฐานข้อมูลมีข้อมูลเกี่ยวกับเมืองที่เหมาะสมสามแห่ง) และไม่ได้รับข้อมูลใด ๆ เกี่ยวกับประเทศที่ตั้งอยู่ ( “country”: null ) เนื่องจาก แบบสอบถามไม่จำเป็นต้องนำเสนอข้อมูลจากตารางที่เกี่ยวข้อง (หากจำเป็น ควรใช้พารามิเตอร์ _with )