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] Executor: query lồng + arguments

    Executor tổng hợp

    Mô phỏng executor: hỗ trợ selection lồng nhiều cấp, và field root user(id: X) chọn 1 phần tử từ mảng users trong data theo id. Field thường resolve trực tiếp từ object hiện tại.

    Data có dạng {"users":[...]}. Query: query { user(id: X) { <selection lồng> } }.

    Ví dụ

    Input:

    {"users":[{"id":1,"name":"An","address":{"city":"HN","zip":"1"}}]}
    query { user(id: 1) { name address { city } } }
    

    Output:

    {"user":{"name":"An","address":{"city":"HN"}}}
    
    • Định dạng đầu vào:

      Dòng 1: data JSON có key users là mảng. Dòng 2: query query { user(id: X) { ... } }.

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

      Độ sâu ≤ 5. Field tồn tại khi có user. id là số nguyên.

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

      Object {"user": {...}} với selection đã resolve, thứ tự theo query. Nếu id không có, user = null.

    Ví dụ:

    Đầu vào:

    {"users":[{"id":1,"name":"An","address":{"city":"HN","zip":"1"}}]}
    query { user(id: 1) { name address { city } } }
    

    Đầu ra:

    {"user":{"name":"An","address":{"city":"HN"}}}

    Giải thích:

    Tìm user id=1, resolve name và address.city lồng.

    Đang tải editor...