Câu hỏi của tôi là xung quanh thực tiễn tốt nhất về tổng hợp hoặc nhóm các API REST. Tôi có một kịch bản có nhiều nhà cung cấp, nguồn dữ liệu khác nhau, v.v. và tôi nghĩ việc nhóm các API REST sẽ có ý nghĩa rất lớn để giữ cho hệ thống duy trì được.
Tôi có nhiều kịch bản trong đó sẽ có một lệnh gọi API kích hoạt nhiều lệnh gọi API (tương tự) khác để tạo cùng một thực thể trong một hệ thống khác . Ví dụ cho một thực thể ví dụ "người dùng" :
- Giao diện người dùng gọi API REST: PUT ... / người dùng
- Những gì tôi hình dung là mã nghe trên API ở trên sau đó sẽ thực hiện nhiều lệnh gọi REST PUT để giả sử nhà cung cấp / người dùng, nhà cung cấp / người dùng, nhà cung cấp / người dùng, InternalSystemA / người dùng, InternalSystemB / người dùng, v.v.
Như thế này:
+-------------------+
+--------+ PUT +-----------+ CALL | Vendor A API |
| | +-------> | user +--------> | |
| | | +-----------+ +-------------------+
| | |
| Front | PUT +--------++ PUT +-----------+ INSERT +-------------------+
| End +------> | user +------> | user +--------> | Internal System |
| | +--------++ +-----------+ +-------------------+
| | |
| | | +-----------+ CALL +-------------------+
| | +-------> | user +--------> | Vendor B API |
+--------+ PUT +-----------+ | |
+-------------------+
+ +
+---------------------------------+
Internal REST APIs
Lưu ý rằng thực thể mẫu không nhất thiết phải là "người dùng", có nhiều thực thể sẽ có đối tác trên API của nhà cung cấp.
Các nhà cung cấp trong kịch bản này cung cấp chức năng khác nhau. Nhưng có thể có nhiều nhà cung cấp cung cấp cùng chức năng (và người dùng sẽ chọn nhà cung cấp mà anh ta muốn sử dụng). Để đơn giản, hãy nói các chức năng ví dụ là
- Tạp vụ,
- Nguồn nhân lực,
- Sự quản lý,
- Thanh toán.
Cách thực hành tốt nhất để nhóm và lồng các API REST trong kịch bản như vậy là gì? Có phải là một ý tưởng tốt để nhóm chúng theo nhà cung cấp hoặc chúng nên được nhóm chức năng hoặc theo thực thể kinh doanh? URL sẽ trông như thế nào?