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] Idempotency: DELETE lặp lại an toàn

    REST — Tính idempotent của DELETE

    Một thao tác idempotent cho kết quả trạng thái cuối giống nhau dù gọi 1 hay nhiều lần. DELETE nên idempotent: gọi lần đầu xóa (204), gọi lại không lỗi server mà trả 404 (tài nguyên đã không còn). Trạng thái kho không đổi sau lần đầu.

    Sau dãy lệnh, in tổng số lần trả 204 và 404 cùng số bản ghi còn lại.

    Lệnh: CREATE <name>, DELETE <id>, cuối cùng REPORT.

    Ví dụ I/O

    Input:

    CREATE a
    DELETE 1
    DELETE 1
    DELETE 1
    REPORT
    

    Output:

    {"status":200,"deleted204":1,"missing404":2,"remaining":0}
    
    • Định dạng đầu vào:

      Mỗi dòng CREATE <name>, DELETE <id> hoặc REPORT.

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

      Số lệnh ≤ 300.

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

      Với REPORT in {"status":200,"deleted204":<a>,"missing404":<b>,"remaining":<c>}.

    Ví dụ:

    Đầu vào:

    CREATE a
    DELETE 1
    DELETE 1
    DELETE 1
    REPORT
    

    Đầu ra:

    {"status":200,"deleted204":1,"missing404":2,"remaining":0}

    Giải thích:

    Lần đầu xóa (204), hai lần sau idempotent trả 404; còn 0 bản ghi.

    Đang tải editor...