Kiểm tra API với front-end

Sau khi đã xác nhận cả ba API hoạt động đúng qua Postman, chúng ta sẽ kết nối front-end React FCJ Book Store với API Gateway đã triển khai và kiểm tra toàn bộ luồng end-to-end qua trình duyệt.

1. Sao chép Invoke URL từ API Gateway

  1. Mở API Gateway console.

    • Điều hướng đến fcaj-serverless-apiStagesstaging.
    • Sao chép Invoke URL hiển thị trong panel Stage details, ví dụ:
      https://1bupjnr42d.execute-api.ap-southeast-1.amazonaws.com/staging
      

    API Gateway - staging Invoke URL với GET, POST, DELETE, OPTIONS resources

2. Cập nhật cấu hình front-end

  1. Trong dự án front-end FCAJ_Workshop-Serverless, mở tệp src/config.js.

    • Đặt giá trị của APP_API_URL thành Invoke URL vừa sao chép.
    export default {
      APP_API_URL: "https://1bupjnr42d.execute-api.ap-southeast-1.amazonaws.com/staging",
      DEFAULT_REGION: "ap-southeast-1"
    };
    

    VSCode - config.js với APP_API_URL trỏ đến staging Invoke URL

  2. Mở tệp src/App.js.

    • Trong this.state của constructor, đặt isAdmin thành true để bật các tính năng quản trị (Tạo, Cập nhật, Xóa) trên giao diện.

    VSCode - App.js với isAdmin: true trong state

3. Build và triển khai front-end lên S3

  1. Trong terminal, điều hướng đến thư mục gốc dự án front-end và chạy các lệnh sau:

    npm run build
    aws s3 rm s3://fcaj-book-shop-by-tranvix --recursive
    aws s3 cp build s3://fcaj-book-shop-by-tranvix --recursive
    
    • npm run build biên dịch bundle production được tối ưu vào thư mục build/.
    • aws s3 rm xóa toàn bộ tệp cũ trong S3 bucket hosting.
    • aws s3 cp tải lên bản build mới nhất.

    Terminal - npm run build hoàn thành với warnings

    Terminal - aws s3 rm rồi aws s3 cp build lên fcaj-book-shop-by-tranvix

  2. Mở S3 console, điều hướng đến bucket fcaj-book-shop-by-tranvix → tab Properties → kéo xuống phần Static website hosting.

    • Sao chép Bucket website endpoint URL.

    S3 - fcaj-book-shop-by-tranvix static website hosting endpoint

4. Kiểm tra GET API (Đọc danh sách sách)

  1. Dán URL endpoint của S3 vào trình duyệt. Trang chủ FCJ Book Store tải lên và hiển thị danh sách sách từ DynamoDB.

    FCJ Book Store - Trang Home hiển thị danh sách sách (ảnh chưa tải)

5. Kiểm tra POST API (Cập nhật sách)

  1. Nhấp vào tab Management trên thanh điều hướng.

    • Trang hiển thị tất cả sách kèm nút Update cho mỗi cuốn.

    FCJ Book Store - Tab Management với nút Update ở mỗi sách

  2. Nhấp Update trên bất kỳ cuốn sách nào (ví dụ: Docker in Action).

    • Form cập nhật mở ra, điền sẵn dữ liệu hiện tại của sách.
    • Nhấp Choose file và chọn ảnh bìa muốn tải lên (ví dụ: DockerInAction.jpeg).
    • Download ảnh DockerInAction.jpeg tại Link và chọn tệp ảnh này.
    • Nhấp nút Update.

    FCJ Book Store - Form Update của Docker in Action

  3. Hộp thoại trình duyệt xuất hiện: “Book update successfull”. Nhấp OK.

    FCJ Book Store - Hộp thoại Book update successfull

  4. Quay lại màn hình Management. Thẻ sách Docker in Action giờ hiển thị ảnh bìa mới đã tải lên.

    FCJ Book Store - Management: Docker in Action hiển thị ảnh bìa

6. Kiểm tra POST API (Tạo sách mới)

  1. Nhấp tab Create new book.

    • Điền vào form với các giá trị sau:

      TrườngGiá trị
      ID5
      NameAmazon Web Services in Action
      AuthorAndreas Wittig
      CategoryIT
      Price59.99
      DescriptionAmazon Web Services in Action, Second Edition is a comprehensive introduction to computing, storing, and networking in the AWS cloud.
      Image(chọn ảnh từ máy, ví dụ: aws.jpg)
    • Download ảnh aws.jpg tại Link và chọn tệp ảnh này.

    • Nhấp Create.

    FCJ Book Store - Form Create new book đã điền đầy đủ (id=5, aws.jpg)

  2. Hộp thoại xuất hiện: “Book upload successfull”. Nhấp OK.

    FCJ Book Store - Hộp thoại Book upload successfull

  3. Chuyển sang tab Home. Sách mới Amazon Web Services in Action của Andreas Wittig xuất hiện trong danh sách — kèm ảnh bìa — và phân trang giờ hiển thị Trang 2.

    FCJ Book Store - Home: sách Amazon Web Services in Action mới với ảnh bìa

7. Kiểm tra DELETE API (Xóa sách)

  1. Nhấp tab Management. Tìm thẻ Amazon Web Services in Action (id = 5) và nhấp nút Update của nó.

    FCJ Book Store - Management: nút Update của sách AWS được highlight

  2. Trong form cập nhật, nhấp nút Delete.

    FCJ Book Store - Form Update hiển thị nút Delete cho id=5

  3. Hộp thoại xuất hiện: “Are you sure you wish to delete this item?”. Nhấp OK để xác nhận.

    FCJ Book Store - Hộp thoại xác nhận xóa

  4. Hộp thoại thứ hai xuất hiện: “Book delete successfull”. Nhấp OK.

    FCJ Book Store - Hộp thoại Book delete successfull

  5. Quay lại màn hình Management. Sách id = 5 (Amazon Web Services in Action) không còn xuất hiện. Phân trang trở về một trang duy nhất.

    FCJ Book Store - Management: id=5 đã xóa, trở về 1 trang với 9 sách