Nhảy tới nội dung
Phiên bản: 1.0.1

Advanced Endpoint

Advanced endpoint là một loại endpoint nâng cao, trong đó kết quả phản hồi (response) trả về không cố định, mà phụ thuộc vào dữ liệu đầu vào và logic xử lý nghiệp vụ. Sử dụng loại endpoint này có tác dụng:

  • Giả lập gần giống như API thật, hỗ trợ kiểm thử các logic phức tạp.
  • Kiểm thử dựa vào dữ liệu thật, tăng độ bao phủ kiểm thử.

Tạo mới advanced endpoint​

Bước 1: Tại màn hình chi tiết REST Project, nhấn vào biểu tượng btn-add.png trên thanh menu hoặc nhấn vào biểu tượng btn-add2.png tại menu Endpoints.

add-endpoint.png

Bước 2: Hệ thống hiển thị màn hình pop up tạo mới endpoint, thực hiện nhập đầy đủ thông tin để tạo mới endpoint.

form-add-advanced.png

Mô tả các trường thông tin:

  • Endpoint Name: Tên của endpoint
  • Description: Mô tả mục đích của endpoint
  • Configuration mode: Kiểu endpoint muốn tạo, trường hợp này chọn Advanced.

Bước 3: Nhấn Create để lưu thông tin tạo mới hoặc Cancel để hủy thao tác tạo mới advanced endpoint.

advanced-endpoint-general.png

Bước 4: Hệ thống hiển thị màn hình chi tiết advanced endpoint, thực hiện các thao tác cấu hình các thông tin cho advanced endpoint.

Cấu hình giả lập advanced endpoint​

Để cấu hình advanced endpoint, thực hiện cấu hình như sau:

Cấu hình thông tin chung​

Bước 1: Cấu hình thông tin chung của endpoint tại tab General ở màn hình chi tiết endpoint, thực hiện nhập các thông tin.

advanced-endpoint-page.png

Mô tả các trường thông tin:

  • Service Visualization: Tên của endpoint
  • Description: Mô tả mục đích của endpoint

Bước 2: Nhấn Save để lưu thông tin cấu hình vừa nhập.

Cấu hình đầu vào/ra endpoint​

Bước 1: Cấu hình đầu vào/ra của endpoint tại tab Variable ở màn hình chi tiết endpoint, thực hiện nhập các thông tin từ thông tin schema đã tạo.

variable-advanced-endpoint.png

Mô tả các trường thông tin:

  • Input Variables: Tập hợp các biến được trích xuất từ dữ liệu đầu vào của request, dựa trên schema đã được định nghĩa trước. Những biến này dùng để: tham chiếu, so sánh, kiểm tra điều kiện trong logic xử lý.
  • Output Variables : Là các biến dùng để tạo ra dữ liệu phản hồi (response), dựa trên schema đã được định nghĩa trước. Những biến này có thể: gán giá trị tĩnh, giá trị dữ liệu mẫu hoặc được tính toán trong quá trình xử lý logic, kết hợp với giá trị input variables để tạo phản hồi động.

Bước 2: Nhấn Save để lưu thông tin cấu hình vừa nhập.

Cấu hình kịch bản xử lý logic của endpoint​

Scenario là kịch bản xử lý logic nghiệp vụ được sử dụng để mô phỏng hành vi thực tế của một API trong hệ thống Service Visualization.

Scenario cho phép bạn mô phỏng linh hoạt như backend thật, không chỉ trả về phản hồi tĩnh mà còn điều kiện, xử lý dữ liệu, phân nhánh logic…

scenario-default.png

Mỗi Scenario bao gồm các thành phần (component) thể hiện từng bước xử lý logic, và được kết nối với nhau theo trình tự thực thi để tạo thành một chuỗi hoạt động hoàn chỉnh. Các component trong Scenario bao gồm:

  • Start component : Là thành phần thề hiện điểm bắt đầu của tiến trình xử lý. Thường khởi động khi có request đến API hoặc sự kiện được kích hoạt. Thông tin cấu hình của Start component là thông tin Input Variables đã được cấu hình từ bước cấu hình Variable.

start-config.png

  • Select Query Database component: Thành phần chứa câu lệnh SELECT để truy vấn dữ liệu từ cơ sở dữ liệu. Kết quả truy vấn có thể được lưu vào biến để sử dụng ở các bước sau. Thông tin cấu hình của Select Query Database gồm:
    • Select database: Database đã được thêm và quản lý tại Connector.
    • Enter the query: Nhập câu lệnh truy vấn dữ liệu từ cơ sở dữ liệu đã được chọn từ select database. Nhấn Check the query để kiểm tra câu lệnh truy vấn chính xác không.
    • Enter the variable that stores the query results: Nhập tên biến lưu lại giá trị trả về sau khi xử lý Select Query Database component.

select-db-config.png

  • Update Database component: Thành phần chứa câu lệnh INSERT, UPDATE, DELETE để cập nhật dữ liệu trong cơ sở dữ liệu. Thông tin cấu hình của Update Database component gồm:
    • Select database: Database đã được thêm và quản lý tại Connector
    • Enter the database update statement: Nhập câu lệnh cập nhật dữ liệu trong cơ sở dữ liệu đã được chọn từ select database. Nhấn Check the update statement để kiểm tra câu lệnh cập nhật chính xác không.

update-db-config.png

  • Api component: Thành phần hỗ trợ gọi đến một API khác trong hệ thống hoặc bên ngoài. Thông tin cấu hình Api component bao gồm:
    • Config: Phương thức (method), đường dẫn (URL), tham số (params), tiêu đề (headers), nội dung (body),
    • Save result: Biến lưu kết quả trả về (nếu có).

api-config.png

  • Decision component: Thành phần điều kiện (if/else) để quyết định nhánh xử lý tiếp theo. Nó hoạt động giống như câu lệnh if/else trong lập trình: kiểm tra điều kiện dựa trên dữ liệu đầu vào và quyết định hành động tiếp theo. Thông tin cấu hình của Decision component gồm:
    • Nếu: Chọn điều kiện áp dụng — tất cả hoặc bất kỳ điều kiện nào bên dưới phải đúng.
    • Điều kiện: Biến đầu vào cần kiểm tra
    • Phép toán: Toán tử so sánh (như =, !=, >, <, contains,...).
    • Giá trị so sánh: Giá trị dùng để so sánh với biến.
    • Thì: Hành động nếu điều kiện đúng (tiếp tục hoặc dừng lại.).
    • Còn lại thì: Hành động nếu điều kiện sai.

decision-config.png

  • Transform Json component:  Thành phần cho phép ánh xạ biến đầu vào thành một đối tượng JSON có cấu trúc. Thường dùng để chuẩn bị request body cho một API call hoặc gửi message. Thông tin cấu hình Transform Json component bao gồm:
    • Variables: Danh sách các biến đầu vào hiện có
    • Transform Json: Tạo các fields để xây dựng json gồm các thông tin: Information field (Tên field), Data type (Kiểu dữ liệu của field), Click to select variable (Chọn biến variable tương ứng để ánh xạ vào field)
    • Enter the variable to store the returned result: Nhập tên biến lưu kêt quả trả về sau khi xử lý Transform Json component.

transform-json-config.png

  • Transform Message component: Thành phần dùng để xây dựng một gói tin theo cấu trúc package đã được đinh nghĩa sẵn từ các giá trị biến đầu vào hoặc giá trị được nhập thủ công. Kết quả là một chuỗi message nhị phân hoặc dạng text, được sử dụng để mô phỏng hoặc gửi đi. Thông tin cấu hình của Transform Message component gồm:
    • Select package: Chuẩn định dạng gói tin (package) cần build đã được định nghĩa và quản lý tại Package.
    • Enter variable to store message results after build: Nhập biến lưu kết quả trả về sau khi xử lý.
    • Data field mapping: Danh sách các elements của package với giá trị sẽ được gán từ biến hoặc nhập thủ công.

transform-message-config.png

  • TCP Socket component: Thành phần dùng để gửi một message (được transform bởi Transform Message component) thông qua giao thức TCP Socket đến hệ thống hoặc thiết bị khác và nhận về phản hồi (nếu có) từ hệ thống đó. Thông tin cấu hình của TCP Socket component gồm:
    • Host: Địa chỉ IP hoặc hostname của máy chủ TCP cần gửi message đến.
    • Port: Cổng TCP mà hệ thống đích lắng nghe để nhận message.
    • Select package: Gói định nghĩa format message (ví dụ: ISO8583:1987), dùng để decode/encode message theo chuẩn.
    • Select Message: Message cần gửi (kết quả của Transform Message component).
    • Enter the variable to store the returned results: Tên biến để lưu kết quả phản hồi trả về từ máy chủ TCP.

tcp-config.png

  • Message Template component: Thành phần dùng để xây dựng message đầu ra dựa trên một cấu trúc mẫu (template) đã được định nghĩa sẵn, bằng cách mapping (gán) các biến đầu vào tương ứng với các trường trong template. Thông tin cấu hình của Message Template component gồm:
    • Select template: Chọn 1 mẫu message đã được định nghĩa sẵn trong Template của hệ thống.
    • Enter the variable to store the returned results: Biến lưu kết quả message được tạo ra từ template.
    • Parameters Mapping: Danh sách các trường trong template cần được gán trị để tạo message. Nhấn Mapping Input Variable để gán giá trị nhanh các trường trong template với các biến đầu vào.

message-template-config.png

  • JMS Send Message component: Là thành phần dùng để gửi message thông qua dịch vụ JMS (Java Message Service). JMS là một API cho phép ứng dụng Java giao tiếp bất đồng bộ qua các message queue hoặc topic. Thông tin cấu hình của JMS Send Message component gồm:
    • Select Jms: Chọn JMS đã được thêm và quản lý tại Connector
    • Select/Enter Message Queue: Chọn message cần gửi (kết quả của Message Template component) hoặc có thể nhập giá trị trực tiếp.
    • Save response results: Tùy chọn cho phép lưu kết quả phản hồi từ JMS.

jms-config.png

  • Call SOAP Services component: Thành phần dùng để thực hiện gọi đến một dịch vụ web bằng giao thức SOAP. Thông tin cấu hình của Call SOAP Services component gồm:
    • Url: URL của dịch vụ web SOAP muốn gọi đến.
    • Action: SOAP Action để xác định phương thức nào của dịch vụ SOAP sẽ được gọi.
    • Select Schema: Chọn schema (định dạng XML) để xây dựng nội dung XML gửi đến dịch vụ web.
    • Enter the variable to store the returned results: Nhập biến lưu kết quả trả về sau khi xử lý.

soap-config.png

  • End component: Thành phần dùng để xác định dữ liệu đầu ra của toàn bộ API mô phỏng. Nó có cấu trúc là Output Variables và giá trị được lấy từ các biến đầu vào và tạo ra từ kết quả xử lý các component trước đó. Thông tin cấu hình của End component gồm:
    • Variables: Gồm các biến đầu vào và các biến kết quả sau khi xử lý các component trước đó.
    • Mapping Output: Gán giá trị cho các trường trong Output Variables bằng cách: mapping với các variable, tạo dữ liệu giả mạo hoặc nhập giá trị cố định.

end-config.png

Một kịch bản xử lý logic hoàn chỉnh trong hệ thống Service Visualization là một kịch bản có đầy đủ từ thành phần bắt đầu (Start component) đến thành phần kết thúc (End component) và các thành phần được liên kết với nhau theo thứ tự xử lý logic. Để xây dựng kịch bản xử lý logic nghiệp vụ của advanced endpoint, thực hiện như sau:

Bước 1: Thêm thành phần bắt đầu (Start component) và kết thúc (End component) vào Scenario (mặc định lúc tạo mới advanced endpoint sẽ tạo và liên kết 2 component này với nhau).

scenario.png

Bước 2: Thêm các thành phần xử lý trung gian và liên kết các thành phần với nhau để hoàn thiện logic xử lý của advanced endpoint.

edit-scenario.png

Lưu ý: Để cấu hình thông tin cho từng thành phần thì trạng thái của Scenario phải là Saved, nếu trạng thái là Processing thì không thể cấu hình.

Cấu hình thông tin endpoint​

Bước 1: Cấu hình endpoint tại tab REST Mapping ở màn hình chi tiết endpoint, thực hiện nhập các thông tin.

adv-rest.png

Mô tả các trường thông tin:

  • Method: Phương thức HTTP như GET, POST, PUT, DELETE…
  • Path: Đường dẫn URI của endpoint ví dụ /auth, /login,...
  • Cấu trúc dữ liệu đầu vào: Cấu hình các thông tin request:
    • Request Params: Khai báo các query parameters, ví dụ: ?page=1&limit=10.
    • Request Body: Nhập nội dung dữ liệu gửi lên (thường dùng với method POST, PUT). Có thể tạo nhanh bằng cách nhấn vào button Get From Input Variable.
    • Request Headers: Thêm các tiêu đề HTTP vào request.
  • Nhập dữ liệu cố định hoặc ánh xạ (mapping) dữ liệu đầu vào với các biến đầu vào (Input Variables) để sử dụng trong kịch bản xử lý (Scenario).

Bước 2: Nhấn Save để lưu thông tin cấu hình vừa nhập.

Start advanced endpoint​

Sau khi hoàn thành việc cấu hình advanced endpoint, để start advanced endpoint thực hiện như sau:

Bước 1: Nhấn button Start tại góc phải trên thanh toolbar ở màn hình chi tiết hoặc nhấn vào biểu tượng btn-start.png ở ô Actions tại danh sách Endpoint ở màn hình Overview.

start-adv1.png

start-adv2.png

Bước 2: Hệ thống hiển thị màn hình pop up xác nhận Start advanced endpoint.

confirm-start.png

Bước 3: Nhấn OK để xác nhận Start advanced endpoint hoặc Cancel để hủy thao tác.

Gửi yêu cầu advanced endpoint​

Sau khi start advanced endpoint, để gửi yêu cầu advanced endpoint thực hiện như sau:

Bước 1: Nhấn vào button Try it out tại tab Try It Now ở thông tin đặc tả API (OpenAPI Specification) của advanced endpoint tại màn hình chi tiết endpoint. Thực hiện nhập dữ liệu đầu vào.

try-it-now.png

Bước 2: Nhấn Execute để gửi yêu cầu advanced endpoint và kiểm tra kết quả trả về.

Stop advanced endpoint​

Sau khi start advanced endpoint, để stop advanced endpoint thực hiện như sau:

Bước 1: Nhấn button Stop tại góc phải trên thanh toolbar ở màn hình chi tiết hoặc nhấn vào biểu tượng btn-stop.png ở ô Actions tại danh sách Endpoint ở màn hình Overview.

stop-adv1.png

stop-adv2.png

Bước 2: Hệ thống hiển thị màn hình pop up xác nhận Stop advanced endpoint.

confirm-stop.png

Bước 3: Nhấn OK để xác nhận Stop advanced endpoint hoặc Cancel để hủy thao tác.

Chỉnh sửa advanced endpoint​

Để chỉnh sửa advanced endpoint thực hiện như sau:

Bước 1: Nhấn vào biểu tượng btn-edit.png ở ô Actions tại danh sách Endpoint ở màn hình Overview.

edit-adv.png

Bước 2: Hệ thống hiển thị màn hình chi tiết advanced endpoint, thực hiện chỉnh sửa cấu hình advanced endpoint tương tự như các bước cấu hình.

Xóa advanced endpoint​

Để xóa advanced endpoint thực hiện như sau:

Bước 1: Nhấn vào biểu tượng btn-delete.png ở ô Actions tại danh sách Endpoint ở màn hình Overview.

delete-adv.png

Bước 2: Hệ thống hiển thị màn hình pop up xác nhận xóa advanced endpoint.

confirm-delete.png

Bước 3: Nhấn Yes để xác nhận xóa endpoint hoặc No để hủy thao tác xóa advanced endpoint.