Xin chào ! Nếu đây là lần đầu tiên bạn đến với diễn đàn, xin vui lòng danh ra một phút bấm vào đây để đăng kí và tham gia thảo luận cùng VnPro.
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Lab - Phát hiện và xử lý các lỗi liên quan đến HTTP Request bằng Postman


    Mục tiêu bài lab


    Sau khi hoàn thành bài thực hành này, bạn sẽ có khả năng:
    • Sử dụng lại Collection và Environment trong Postman.
    • Đọc và phân tích thông tin lỗi từ API Response.
    • Xác định nguyên nhân khiến HTTP Request thất bại.
    • Khắc phục các lỗi phổ biến khi làm việc với REST API.

    Đây là kỹ năng gần như bắt buộc đối với một kỹ sư DevNet bởi trong môi trường thực tế, lỗi API xảy ra hàng ngày và việc đọc được thông báo lỗi sẽ giúp tiết kiệm rất nhiều thời gian troubleshooting.


    Mô hình bài lab


    Trong bài lab này chúng ta tiếp tục sử dụng:
    • Postman Client
    • API Server đã sử dụng ở Lab 8
    • Collection và Environment đã tạo trước đó

    Luồng hoạt động:

    Postman
    |
    HTTP Request
    |
    API Server
    |
    HTTP Response (Success hoặc Error)

    Bước 1: Import Collection và Environment

    Trong thực tế, kỹ sư DevNet rất ít khi tạo request từ đầu cho từng API.

    Thông thường đội dự án sẽ chia sẻ sẵn:
    • Collection
    • Environment
    • API Documentation

    Do đó việc đầu tiên là import các file này vào Postman.

    Chọn:

    Import

    sau đó import:
    • Collection JSON
    • Environment JSON

    Tại sao phải sử dụng Environment?

    Khi làm việc với API chúng ta thường phải sử dụng nhiều giá trị như:

    IP Address
    Username
    Password
    Token
    Base URL
    Port

    Nếu phải gõ thủ công mỗi lần sẽ rất dễ sai.

    Ví dụ:

    {{base_url}}
    {{token}}
    {{username}}

    Khi cần thay đổi IP hoặc Token chúng ta chỉ sửa trong Environment thay vì sửa hàng chục request khác nhau.

    Đây là cách mà hầu hết các dự án DevNet thực tế đều triển khai.

    Tại sao phải sử dụng Collection?

    Collection giúp:
    • Gom nhóm các API cùng chức năng.
    • Tái sử dụng request.
    • Chạy automation test.
    • Chia sẻ giữa các thành viên trong nhóm.

    Ví dụ:

    Authentication
    Get Devices
    Get Interfaces
    Create VLAN
    Delete VLAN

    Tất cả đều có thể đặt trong cùng một Collection.

    Bước 2: Thực hiện Request có lỗi

    Tiến hành gửi request chứa dữ liệu JSON sai cú pháp.

    Ví dụ:

    {
    "name" = "VNPRO"
    }

    Sau khi nhấn:

    Send

    API Server sẽ trả về lỗi.

    Bước 3: Phân tích Response trả về

    Đây là phần quan trọng nhất của bài lab.

    Khi request thất bại, điều đầu tiên cần làm là đọc phần:

    Response Body
    Status Code
    Details

    Trong bài lab này Postman sẽ hiển thị thông báo lỗi chỉ ra vị trí sai cú pháp.

    Thông thường bạn sẽ thấy dạng:

    JSON parse error
    Unexpected token '='

    hoặc:

    Expecting ':' delimiter Nguyên nhân lỗi


    JSON sử dụng:

    :

    để phân tách giữa:

    key và value

    Ví dụ đúng:

    {
    "name": "VNPRO"
    }

    Ví dụ sai:

    {
    "name" = "VNPRO"
    }

    Đây là lỗi mà hầu như ai mới học API cũng từng gặp.

    Bước 4: Kiểm tra vị trí lỗi trong Body

    Một điểm rất hữu ích của Postman là nó sẽ đánh dấu chính xác dòng bị lỗi.

    Ví dụ:

    Line 3

    sẽ xuất hiện dấu:

    X

    ở bên trái.

    Điều này giúp chúng ta không phải dò toàn bộ JSON.

    Các lỗi HTTP Request thường gặp trong DevNet 1. Thiếu dấu phẩy giữa các cặp key-value

    Sai:

    {
    "name": "VNPRO"
    "city": "HCM"
    }

    Đúng:

    {
    "name": "VNPRO",
    "city": "HCM"
    }


    2. URL bị dư dấu "/"

    Sai:



    Đúng:



    Một số API Server vẫn chấp nhận lỗi này nhưng nhiều hệ thống sẽ trả về:

    404 Not Found

    3. Sử dụng sai HTTP Method

    Ví dụ:

    API yêu cầu:

    POST

    nhưng lại gửi:

    GET

    hoặc:

    PUT

    Kết quả thường nhận được:

    405 Method Not Allowed

    Ví dụ:

    GET /api/users

    trong khi API chỉ hỗ trợ:

    POST /api/users

    4. Thiếu Authentication Token

    Đây là lỗi xảy ra nhiều nhất khi làm việc với Cisco DNA Center API.

    Ví dụ:

    401 Unauthorized

    Nguyên nhân:
    • Token hết hạn.
    • Chưa truyền Header Authorization.
    • Sai Bearer Token.
    5. Sai Header Content-Type


    Ví dụ API yêu cầu:

    Content-Type: application/json

    nhưng request gửi:

    text/plain

    Kết quả:

    415 Unsupported Media Type

    Bước 5: Khắc phục lỗi

    Sau khi xác định được nguyên nhân, sửa lại request theo đúng cú pháp JSON và gửi lại.

    Ví dụ:

    {
    "name": "VNPRO"
    }

    Khi thực hiện thành công, Postman sẽ trả về:

    200 OK

    hoặc:

    201 Created Kinh nghiệm thực tế khi làm DevNet


    Kiểm tra theo thứ tự sau khi request bị lỗi:
    1. Kiểm tra URL.
    2. Kiểm tra HTTP Method.
    3. Kiểm tra Header.
    4. Kiểm tra Token.
    5. Kiểm tra Body JSON.
    6. Đọc kỹ Response trả về.

    Khoảng 80% lỗi API thường nằm trong các nguyên nhân trên.



    Attached Files
Working...
X