Gọi API ứng dụng con
Application SupervisorEnterprise Edition+Trong multi-app, mỗi ứng dụng con có API độc lập. Khi gọi API ứng dụng con, entry app cần biết request phải được route đến ứng dụng con nào.
Ví dụ API của ứng dụng chính thường là:
/api là prefix API mặc định và có thể tùy chỉnh bằng biến môi trường API_BASE_PATH.
Để gọi API cùng tên trong ứng dụng con, cần chỉ định tên ứng dụng con trong request.
Dùng prefix path
Dùng prefix /api/__app/<appName>/:
Trong đó:
a_xxxlà tên ứng dụng conusers:listlà resource và action cần gọi/apilà API base path của hệ thống hiện tại
Có thể thêm query parameter như bình thường:
Cách này rõ ràng và phù hợp khi gọi API ứng dụng con thống nhất qua entry app trong triển khai đa môi trường.
Dùng request header
Nếu bên gọi đã dùng địa chỉ cố định /api/..., có thể chỉ định ứng dụng con bằng header X-App:
Cách này phù hợp cho gọi từ backend hoặc công cụ request frontend đã đóng gói URL API.
Dùng query parameter
Cũng có thể dùng query parameter __appName:
Khi có thêm parameter khác:
Thông thường prefix path hoặc header rõ ràng hơn vì ứng dụng con đích được thể hiện cụ thể hơn.
Địa chỉ API trong triển khai đa môi trường
Trong triển khai đa môi trường, thường có một entry app và nhiều runtime environment.
Ví dụ:
- Địa chỉ entry app:
http://localhost:13003 - Địa chỉ runtime environment:
http://localhost:14000
Nên gọi API ứng dụng con qua entry app:
Entry app sẽ route request đến ứng dụng con tương ứng theo cấu hình. Nếu bạn biết rõ runtime environment cần truy cập, cũng có thể dùng địa chỉ của environment đó.
Domain riêng của ứng dụng con
Nếu ứng dụng con có domain truy cập riêng, cũng có thể gọi trực tiếp API của ứng dụng con qua domain đó:
Nếu muốn thống nhất đi qua entry app, tiếp tục dùng /api/__app/<appName>/....
Xác thực
Khi gọi API ứng dụng con, kiểm tra quyền vẫn dựa trên ứng dụng con đích.
Điều này có nghĩa:
- Cần trạng thái đăng nhập hoặc access token hợp lệ cho ứng dụng con
- Trạng thái đăng nhập của ứng dụng chính không tự động tương đương với quyền API trong ứng dụng con
Nếu request không mang thông tin xác thực hợp lệ, ứng dụng con sẽ trả lỗi chưa đăng nhập hoặc không có quyền theo cấu hình xác thực của chính nó.

