Các lượt nộp
    Danh sách bài
    Trang chủ
    Báo lỗi

    solution

    Đề bài: [Lập trình Web & Backend] Validate đệ quy theo schema nhiều type

    Validate query lồng theo schema

    Schema gồm nhiều type, mỗi type có map field → kiểu (kiểu là tên type khác cho object, hoặc "scalar" cho field lá). Root type là Query.

    Duyệt query lồng, kiểm tra mỗi field tồn tại trong type tương ứng, và field có selection set phải là object type (không phải scalar). In valid hoặc invalid:<field> (field sai đầu tiên theo thứ tự duyệt trước-sâu).

    Ví dụ

    Input:

    {"Query":{"user":"User"},"User":{"id":"scalar","name":"scalar"}}
    query { user { id name } }
    

    Output:

    valid
    
    • Định dạng đầu vào:

      Dòng 1: schema JSON (map type → map field → kiểu). Dòng 2: query lồng (root type Query).

    • Ràng buộc đầu vào:

      Độ sâu ≤ 5. Tên type/field gồm chữ, số, gạch dưới.

    • Định dạng đầu ra:

      valid hoặc invalid:<field> sai đầu tiên (field lạ, hoặc field scalar mà lại có selection set).

    Ví dụ:

    Đầu vào:

    {"Query":{"user":"User"},"User":{"id":"scalar","name":"scalar"}}
    query { user { id name } }
    

    Đầu ra:

    valid

    Giải thích:

    user là User; id,name là scalar lá hợp lệ.

    Đang tải editor...