Tạo product resource và method đầu tiên

Tạo product resource và method đầu tiên

  1. Tạo phương thức createProductsResource với 2 tham số là RestApi và ApiStackProps và khởi tạo trong contructor
private void createProductsResource(RestApi restApi, ApiStackProps apiStackProps) {
}

Architect

  1. Tạo một tài nguyên (resource) mới trong API Gateway với đường dẫn là /products. Sử dụng restApi.getRoot().addResource(“products”) sẽ tạo ra một tài nguyên con mới (sub-resource) có đường dẫn là /products từ root của API (restApi).
//products
Resource productsResource = restApi.getRoot().addResource("products");

Architect

  1. Thêm phương thức GET cho productsResource bằng phương thức addMethod
productsResource.addMethod("GET");

Architect

  1. Tiếp theo chúng ta sẽ định nghĩa một Integration để xử lý yêu cầu GET tới endpoint /products.
productsResource.addMethod("GET", new Integration(
                IntegrationProps.builder()
                        .build()));

Architect

  1. Sau đó, chọn loại IntegrationHTTP_PROXY, nghĩa là sử dụng proxy HTTP để chuyển tiếp yêu cầu và chọn Loại phương thức của Integration là GET.
.type(IntegrationType.HTTP_PROXY)
.integrationHttpMethod("GET")

Architect

  1. Đặt URI của backend mà API Gateway sẽ chuyển tiếp yêu cầu tới. Trong đó, DNS name của NetworkLoadBalancer được sử dụng để tạo URL và cổng 8081 cùng với đường dẫn API /api/products được gọi.
.uri("http://" + apiStackProps.networkLoadBalancer().getLoadBalancerDnsName() +":8080/api/products")

Architect

  1. Tiếp theo dùng options được sử dụng để cấu hình thêm các tùy chọn IntegrationOptions
    .options(IntegrationOptions.builder()
    .build())

Architect

  1. Chỉ định VpcLink để xác định kết nối VPC nào sẽ được sử dụng cho phương thức Integration và xác định loại kết nối là VPC_LINK, nghĩa là kết nối qua VPC của AWS.
.vpcLink(apiStackProps.vpcLink())
.connectionType(ConnectionType.VPC_LINK)

Architect