Parcourir la source

✨ feat(utils): add schema validation for crud route responses

- add z.array(listSchema).parse(data) validation for list response data
- add getSchema.parse(result) validation for get single resource response data
- enhance data consistency and type safety in API responses
yourname il y a 4 mois
Parent
commit
bf883966fe
1 fichiers modifiés avec 2 ajouts et 2 suppressions
  1. 2 2
      src/server/utils/generic-crud.routes.ts

+ 2 - 2
src/server/utils/generic-crud.routes.ts

@@ -253,7 +253,7 @@ export function createCrudRoutes<
         );
         
         return c.json({
-          data,
+          data: z.array(listSchema).parse(data),
           pagination: { total, current: page, pageSize }
         }, 200);
       } catch (error) {
@@ -291,7 +291,7 @@ export function createCrudRoutes<
           return c.json({ code: 404, message: '资源不存在' }, 404);
         }
         
-        return c.json(result, 200);
+        return c.json(getSchema.parse(result), 200);
       } catch (error) {
         if (error instanceof z.ZodError) {
           return c.json({ code: 400, message: '参数验证失败', errors: error.errors }, 400);