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] 429: Giới hạn số lần truy cập (rate limit)

    REST — Rate limiting (429 Too Many Requests)

    Mỗi tài nguyên chỉ cho phép tối đa K lần GET; quá ngưỡng trả 429 Too Many Requests. Dòng đầu là K. Sau đó các lệnh CREATE <name> và GET <id>. Mỗi GET thành công (200) tính một lần dùng; khi vượt K lần (tính cả lần này) thì trả 429 và KHÔNG tăng tiếp. GET id không tồn tại trả 404 (không tính vào hạn mức).

    Ví dụ I/O

    Input:

    2
    CREATE a
    GET 1
    GET 1
    GET 1
    

    Output:

    {"status":200,"item":{"id":1,"name":"a"}}
    {"status":200,"item":{"id":1,"name":"a"}}
    {"status":429,"error":"Too Many Requests"}
    
    • Định dạng đầu vào:

      Dòng đầu K. Các dòng sau CREATE <name> hoặc GET <id>.

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

      1 ≤ K ≤ 1000. Số lệnh ≤ 500.

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

      GET trong hạn mức in 200 kèm item; vượt K in {"status":429,"error":"Too Many Requests"}; id không có in 404.

    Ví dụ:

    Đầu vào:

    2
    CREATE a
    GET 1
    GET 1
    GET 1
    

    Đầu ra:

    {"status":200,"item":{"id":1,"name":"a"}}
    {"status":200,"item":{"id":1,"name":"a"}}
    {"status":429,"error":"Too Many Requests"}

    Giải thích:

    K=2: hai GET đầu thành công (200), GET thứ ba vượt hạn mức → 429.

    Đang tải editor...