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] ROUTER: Bộ định tuyến CRUD đầy đủ

    REST — Bộ định tuyến CRUD tổng hợp

    Mô phỏng một router xử lý đủ các method trên tài nguyên product (gồm name, price):

    • POST <name> <price> → 201 kèm item
    • GET <id> → 200 kèm item / 404
    • PUT <id> <name> <price> → 200 / 404
    • PATCH <id> price <price> → 200 / 404
    • DELETE <id> → 204 / 404
    • LIST → 200 kèm mảng item (id tăng dần, bỏ qua đã xóa)

    Ví dụ I/O

    Input:

    POST a 10
    PATCH 1 price 12
    GET 1
    DELETE 1
    LIST
    

    Output:

    {"status":201,"item":{"id":1,"name":"a","price":10}}
    {"status":200,"item":{"id":1,"name":"a","price":12}}
    {"status":200,"item":{"id":1,"name":"a","price":12}}
    {"status":204}
    {"status":200,"items":[]}
    
    • Định dạng đầu vào:

      Mỗi dòng là một lệnh trong tập POST/GET/PUT/PATCH/DELETE/LIST như mô tả.

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

      price là số nguyên. Số lệnh ≤ 500.

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

      In response JSON đúng cho từng method; item luôn theo thứ tự key id,name,price. LIST in {"status":200,"items":[...]}.

    Ví dụ:

    Đầu vào:

    POST a 10
    PATCH 1 price 12
    GET 1
    DELETE 1
    LIST
    

    Đầu ra:

    {"status":201,"item":{"id":1,"name":"a","price":10}}
    {"status":200,"item":{"id":1,"name":"a","price":12}}
    {"status":200,"item":{"id":1,"name":"a","price":12}}
    {"status":204}
    {"status":200,"items":[]}

    Giải thích:

    POST→201; PATCH đổi giá→200; GET thấy giá mới; DELETE→204; LIST rỗng vì đã xóa.

    Đang tải editor...