Khi tạo điểm cuối cho quy trình nghiệp vụ, bạn phải chỉ định loại dữ liệu sẽ được gửi trong yêu cầu này ( Request payload type ). Tùy chọn phổ biến nhất là JSON ; nó cho phép bạn chỉ định thuận tiện tất cả các tham số cần thiết và chuyển một mô hình dữ liệu hoặc một mảng các đối tượng. Ngoài ra, có thể có các tùy chọn khác, ví dụ: XML hoặc Multipart Form nhiều phần (nếu bạn cần gửi tệp).

Đồng thời, một tình huống có thể chấp nhận được khi cấu trúc chính xác không được biết trước (hoặc đơn giản là nó không quan trọng). Trong trường hợp này, một tùy chọn hợp lý là sử dụng truy vấn " raw ".

request payload type

Quy trình nghiệp vụ cho các yêu cầu raw

Hãy tưởng tượng một tình huống mà điều này có thể cần thiết. Giả sử rằng dịch vụ chúng tôi đang phát triển chỉ là một liên kết kết nối. Nhiệm vụ của nó là nhận yêu cầu từ người dùng, kiểm tra ủy quyền, lưu nhật ký, thực hiện chống spam và chuyển hướng yêu cầu xa hơn nếu mọi thứ đều ổn.

Một tính năng quan trọng của truy vấn Raw là không có tham số đầu vào nào được sử dụng khi thiết kế quy trình kinh doanh. Thay vào đó, một khối đặc biệt được sử dụng để lấy nội dung yêu cầu - Get Request Body . Giả sử bạn quan tâm đến thông tin mở rộng về yêu cầu. Trong trường hợp đó, khối Current Request Info là một tùy chọn phù hợp - khối này không chỉ trả về nội dung yêu cầu mà còn trả về các tham số bổ sung và tiêu đề yêu cầu.

Current Request Info

Trong trường hợp khi chúng tôi quan tâm đến một tiêu đề cụ thể từ yêu cầu, nó có thể được lấy bằng cách sử dụng khối Get Request Header . Ví dụ trên đọc tiêu đề X-Real-IP , chứa địa chỉ IP của yêu cầu. IP kết quả được chuyển đến một chức năng phải kiểm tra xem IP đã cho có hợp lệ không và không nằm trong danh sách đen các địa chỉ bị cấm. Do đó, quá trình sẽ bị hủy bỏ với một thông báo lỗi thích hợp hoặc nếu mọi thứ đều theo thứ tự, thì sẽ được phép thực hiện thêm.

IP Check

Yêu cầu, được nhận dưới dạng Raw , được biểu diễn dưới dạng một mảng byte. Để thuận tiện cho việc nhận thức, nó có thể được chuyển đổi thành một chuỗi ( To String block); ở dạng này, thông tin được lưu trữ trong nhật ký.

Trong trường hợp này, bản thân yêu cầu, không có bất kỳ biến đổi nào, có thể được chuyển hướng thêm bằng cách sử dụng khối HTTP Request . Trong ví dụ này, phương thức yêu cầu, URL của nó và nội dung yêu cầu (thu được từ khối Current Request Info ) được chỉ định. Kết quả của khối HTTP Request được sử dụng làm kết quả của toàn bộ quy trình kinh doanh.

HTTP Request

Ảnh chụp màn hình hiển thị quy trình kinh doanh cuối cùng. Xin lưu ý rằng các khối chức năng ( FUNC Save request LogFUNC IP Blacklist Check ) là các ví dụ và chỉ tồn tại trong phạm vi của dự án này.

BP Complete

Do đó, điểm cuối có thể được sử dụng để làm việc với bất kỳ yêu cầu nào, bất kể nội dung thực tế của nó. Bạn không cần biết chính xác yêu cầu sẽ được gửi đến dịch vụ của bên thứ ba và ngay cả khi có một số thay đổi trong đó (thêm mô hình, đổi tên tham số), bạn có thể tiếp tục sử dụng điểm cuối mà không thực hiện thay đổi đối với dự án.

Was this article helpful?

AppMaster.io 101 Khóa học tai nạn

10 Mô-đun
2 Tuần

Không biết chắc nên bắt đầu từ đâu? Bắt đầu với khóa học sụp đổ của chúng tôi dành cho người mới bắt đầu và khám phá AppMaster từ A đến Z.

Bắt đầu khóa học
Development it’s so easy with AppMaster!

Cần sự giúp đỡ nhiều hơn?

Giải quyết mọi vấn đề với sự giúp đỡ của các chuyên gia của chúng tôi. Tiết kiệm thời gian và tập trung vào việc xây dựng các ứng dụng của bạn.

headphones

Liên hệ hỗ trợ

Hãy cho chúng tôi biết về vấn đề của bạn và chúng tôi sẽ tìm ra giải pháp cho bạn.

message

trò chuyện cộng đồng

Thảo luận câu hỏi với những người dùng khác trong cuộc trò chuyện của chúng tôi.

Tham gia cộng đồng