ใช่มีมิดเดิลแวร์เฉพาะที่จำเป็นสำหรับ GraphQL ใน Laravel 11 นี่คือประเด็นสำคัญ:
- แพ็คเกจ `rebing/graphql-laravel` รองรับ Middleware HTTP, GraphQL Execution Middleware และ GraphQL Resolver Middleware [1]
- มิดเดิลแวร์ HTTP สามารถนำไปใช้ทั่วโลกสำหรับจุดสิ้นสุด GraphQL ทั้งหมดผ่าน `graphql.route.middleware` config หรือต่อ schema ผ่าน` graphql.schemas.
- มิดเดิลแวร์การดำเนินการ GraphQL ถูกนำไปใช้ในระหว่างการประมวลผลคำขอ GraphQL มันสามารถตั้งค่าทั่วโลกผ่าน `graphql.execution_middleware` หรือต่อ schema ผ่าน` graphql.schemas.
- มิดเดิลแวร์ Resolver จะถูกดำเนินการสำหรับการสืบค้น/การกลายพันธุ์แต่ละครั้งก่อนที่จะมีการเรียกร้อง `Resolve ()` จริง [1]
ดังนั้นโดยสรุปคุณสามารถใช้มิดเดิลแวร์ HTTP ทั่วโลกหรือต่อ schema, มิดเดิลแวร์ดำเนินการเพื่อควบคุมโฟลว์การประมวลผลการร้องขอ graphQL และมิดเดิลแวร์ Resolver เพื่อเพิ่มตรรกะที่กำหนดเองก่อนที่แต่ละการสืบค้น/การกลายพันธุ์จะได้รับการแก้ไข มิดเดิลแวร์เฉพาะที่จำเป็นขึ้นอยู่กับข้อกำหนดของแอปพลิเคชันของคุณ
การอ้างอิง:[1] https://github.com/rebing/graphql-laravel
[2] https://www.turing.com/kb/setting-a-graphql-server-using-laravel
[3] https://docs.prepr.io/connecting-front-end-apps/laravel/laravel-graphql-provider
[4] https://laravel.com/docs/11.x/middleware
[5] https://github.com/ardani/laravel-graphql