Bladeren bron

graphql代理接口使用body中的查询语句

fogwind 1 week geleden
bovenliggende
commit
f2b9678c73
1 gewijzigde bestanden met toevoegingen van 6 en 3 verwijderingen
  1. 6 3
      src/app/api/graphql/route.ts

+ 6 - 3
src/app/api/graphql/route.ts

@@ -17,6 +17,7 @@ import {
     CREATE_CHECKOUT_PAYMENT_METHODS,
     CREATE_CHECKOUT_ORDER,
     CREATE_PRODUCT_REVIEW,
+    GET_PRODUCT_BY_URL_KEY
 } from "@/graphql";
 
 const ALLOWED_OPERATIONS: Record<string, any> = {
@@ -34,12 +35,13 @@ const ALLOWED_OPERATIONS: Record<string, any> = {
     CreateCheckoutPaymentMethod: CREATE_CHECKOUT_PAYMENT_METHODS,
     CreateCheckoutOrder: CREATE_CHECKOUT_ORDER,
     CreateProductReview: CREATE_PRODUCT_REVIEW,
+    GetProductById: GET_PRODUCT_BY_URL_KEY,
 };
 
 export async function POST(req: NextRequest) {
     try {
         const body = await req.json();
-        const { operationName, variables } = body;
+        const { operationName, query: bodyGraphqlQuery, variables } = body;
         const guestToken = getAuthToken(req);
 
         if (!operationName || !ALLOWED_OPERATIONS[operationName]) {
@@ -48,8 +50,8 @@ export async function POST(req: NextRequest) {
                 { status: 400 }
             );
         }
-
-        const query = ALLOWED_OPERATIONS[operationName];
+        // const query = ALLOWED_OPERATIONS[operationName];
+        const query = bodyGraphqlQuery; // 核心修复
 
         let finalVariables = variables;
 
@@ -114,6 +116,7 @@ export async function POST(req: NextRequest) {
             data: response.body.data,
         });
     } catch (error) {
+        console.log('response err------ ', error);
         if (isBagistoError(error)) {
             return NextResponse.json(
                 {