Bây giờ chúng ta đã thiết lập ba API, chúng ta đã sẵn sàng gọi chúng từ trang web. Trước tiên, chúng ta cần thiết lập ứng dụng web đơn trang (SPA) và host nó trên Amazon S3.
Chúng ta đã quyết định sử dụng AngularJS framework cho SPA của mình. Tất nhiên bạn có thể sử dụng bất kỳ framework nào mà bạn cảm thấy phù hợp. Mục đích của bài thực hành này không phải để dạy bạn AngularJS hoặc bất kỳ framework SPA nào khác, vì vậy chúng ta sẽ không đi sâu vào chi tiết về cách hoạt động của trang, ngoài việc hướng dẫn bạn cách kết nối các lệnh gọi API mà SPA sẽ cần thực hiện để điền các phần tử dữ liệu của nó.
Việc triển khai SPA mà bạn được cung cấp đã triển khai sơ bộ ba API mà chúng ta muốn cung cấp cho người dùng của mình. Họ có triển khai vừa đủ để không gây ra lỗi trên trang khi được thực thi, nhưng họ không cung cấp bất kỳ dữ liệu nào. Để ‘kết nối’ các API của chúng ta với SPA, chúng ta sẽ cần tạo các Javascript client SDK có liên quan đến các API này và lưu trữ chúng trong đường dẫn thích hợp.
apigClientFactory
apigClientFactory_FlightSpecials
apigClientFactory
apigClientFactory_HotelSpecials
apigClientFactory
apigClientFactory_TripSearch
Với các API SDK đã có, giờ đây bạn đã sẵn sàng triển khai mã nguồn SPA lên Amazon S3 Bucket đê trang web hoạt động. Quá trình thiết lập bài thực hành đã cung cấp một S3 bucket phù hợp, đã được kích hoạt WebSite Hosting. Vì vậy, bạn sẽ chỉ cần đẩy tất cả các tập tin từ máy của bạn sang S3 bucket để có thể kiểm tra ứng dụng.
set AWS_PROFILE=devaxacademy
aws s3 sync . s3://<S3BucketWWWBucketName> --acl public-read
Thay <S3BucketWWWBucketName> bằng giá trị S3BucketWWWBucketName trong tab Output của stack DevAx-06
http://<S3BucketWWWBucketName>.s3-website-<YOUR_REGION>.amazonaws.com
Thay <S3BucketWWWBucketName> bằng giá trị S3BucketWWWBucketName trong tab Output của stack DevAx-06
Thay <YOUR_REGION> bằng Region của bạn
Trang web TravelBuddy quen thuộc sẽ hiển thị trong trình duyệt của bạn. Trước đây, bạn đã từng thấy trang web này khi nó là một ứng dụng Java monolithic được cài đặt lên EC2 do Elastic Beanstalk quản lý. Nhưng bây giờ, trang web là một ứng dụng web một trang và được lưu trữ trong S3 bucket thực hiện các lệnh gọi API đến Amazon API Gateway để cung cấp dữ liệu cho trang web.
Bạn sẽ thấy danh sách Hotel Specials và Flight Specials được hiển thị trên trang.
Ngoài ra, tùy chọn Find trips to… có sẵn. Để kiểm tra điều này, hãy nhập Melbourne
vào ô Find trips to… và nhấp vào nút Go!. Một hộp thoại sẽ xuất hiện hiển thị kết quả tìm kiếm. Dữ liệu này đang được cung cấp từ việc gọi đến TripSearchAPI, ở đường dẫn /tripstocity.
Nếu bạn xóa giá trị trong trường và nhấp vào nút Go!, bạn sẽ thấy danh sách tất cả các chuyến đi có sẵn, được phục vụ từ lệnh gọi TripSearchAPI đến /trips.
Nếu bạn không thấy dữ liệu là kết quả của các lệnh gọi API, hãy xem developer console trong trình duyệt để xem liệu có bất kỳ lỗi nào giúp tìm ra sự cố hay không.