Bây giờ bạn có một mô hình hoạt động của trang web đang chạy như một SPA gọi dữ liệu thông qua RESTful API được lưu trữ trên AWS Lambda và cung cấp từ Amazon API Gateway. Các nguồn cấp dữ liệu này được coi là công khai vì người dùng không cần đăng nhập và cung cấp thông tin đăng nhập cho lệnh gọi tới API. Trong bài tập này, bạn sẽ xem xét cách bạn có thể yêu cầu xác thực để thực hiện lệnh gọi API và việc sử dụng Khóa API để thực thi điều chỉnh tốc độ cuộc gọi và quản lý hạn ngạch. Để chứng minh, bạn sẽ sử dụng một ứng dụng Java client, để chỉ ra cách bạn có thể sử dụng các Java SDK được tạo tự động trong các ứng dụng của bạn.
Tạo Response Model cho TripSearch API
Để trình tạo SDK có thể tạo các lớp thích hợp cho một ngôn ngữ mạnh như Java (đối lập với Javascript), chúng ta cần cho API Gateway biết hình dạng hoặc schema của các đối tượng yêu cầu/phản hồi trông như thế nào. Trong TripSearch API, bạn đang sử dụng phương thức GET cho mỗi lệnh gọi API. Do đó, không có schema nào cho các yêu cầu gửi đến vì tham số city được truyền như một phần của URL. Thay vào đó, nếu bạn thay đổi phương thức thành POST, bạn sẽ cần truyền tham số thành phố trong tải trọng body và sẽ cần tạo một mô hình cho schema đối tượng này cho trình tạo mã để tạo một lớp Java để bạn sử dụng.
Dữ liệu kết quả từ các lệnh gọi API được trả về trong body của phản hồi. Để trình tạo mã có thể tạo một lớp thích hợp để đại diện cho phản hồi này, chúng ta cần tạo một mô hình phản hồi và đặt nó làm mô hình phản hồi phương thức.
API consumer sẽ tính thời gian mỗi lần gọi tới API mất bao lâu và hiển thị kết quả. Nó sẽ thực hiện tối đa 100 lần gọi nhanh nhất có thể.
Nếu chúng ta có nhiều người dùng sử dụng API liên tục. Chúng ta có thể vượt quá cơ sở hạ tầng được cung cấp, vì vậy chúng ta cần một vài cách để điều tiết các lần gọi API. Chúng ta có thể sử dụng Usage Plans để làm việc này.
Vì chúng ta đã cài đặt /tripsfromcity/{GET} endpoint yêu cầu API Key, nhưng chúng ta chưa cài đặt API trong client application. Bạn sẽ thấy lỗi Forbidden.
Thiết lập API key trong mã nguồn Client và chạy lại Ứng dụng sử dụng API với tính năng throttling
Click API Keys
Click SDKClient
Tại mục API Key, click show để hiện ra auto-generated API key
Lưu lại API key tại mục API key
Trong Eclipse IDE, mở file có đường dẫn /src/main/java/idevelop/api/tripsearch/sdk/app/App.java
Thay <REPLACE_WITH_API_KEY> bằng API key đã lưu trong bước 30
Bỏ comment tại dòng apiKey(API_KEY). Bây giờ bạn đã có API Key trong lệnh gọi API Gateway, SDK được tạo cho bạn sẽ chứa lệnh gọi cho phép thiết lập khóa. Nếu bạn không có API Key, trình tạo mã không sử dụng hàm này, do vậy trong mã nguồn được cung cấp nó bị comment lại. Bạn cần bỏ comment trong mã nguồn được cung cấp để cho phép API Key được đặt chính xác.
Lưu lại file
Trong Eclipse IDE, nhấp chuột phải vào project TripSearch-sdkClient
35. Bạn sẽ thấy kết quả
36. Hãy thử thay đổi API_KEY chúng ta đã đặt vào App class trong bước 31. Chúng ta có thể thêm dấu . vào cuối của chuỗi API_KEY
37. Trong Command Prompt, chạy lệnh dưới đây