Bạn đang xem tài liệu về Apigee Edge.
Truy cập vào
tài liệu Apigee X. thông tin
Giờ đây, bạn đã thay đổi điểm cuối mục tiêu, bạn có thể thêm một chính sách vào proxy của mình.
Chính sách là một thành phần Edge mà bạn có thể đính kèm vào nhiều điểm trong luồng thông báo thông qua các proxy API. Các chính sách có thể chuyển đổi định dạng thông báo, thực thi quyền kiểm soát truy cập, gọi các dịch vụ từ xa, uỷ quyền cho người dùng, kiểm tra nội dung thông báo để phát hiện các mối đe doạ tiềm ẩn và làm nhiều việc khác.
Trong hướng dẫn này, bạn sẽ thêm chính sách XMLtoJSON vào proxy. Chính sách này chuyển đổi tải trọng của một thông báo XML thành JSON. Thao tác này cũng thay đổi tiêu đề Content-Type của phản hồi.
Cách thêm chính sách XML sang JSON vào proxy:
- Mở Giao diện người dùng Edge trong trình duyệt rồi đăng nhập.
- Nhấp vào API Proxies (API Proxy) trong cửa sổ chính rồi chọn một proxy. Trong ví dụ này, hãy chọn proxy mà bạn đã tạo trong Bước 1: Tạo một proxy API.
Nhấp vào thẻ Phát triển:

Edge sẽ hiển thị Trình chỉnh sửa proxy API.
Trong ngăn Navigator (Trình điều hướng), hãy nhấp vào Proxy Endpoints > default > PreFlow (Điểm cuối của proxy > mặc định > PreFlow):

Edge hiển thị trình chỉnh sửa Flow:

Ngoài ra, Edge sẽ hiển thị cấu hình Proxy Endpoint mặc định trong ngăn Code (Mã):
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <ProxyEndpoint name="default"> <Description/> <FaultRules/> <PreFlow name="PreFlow"> <Request/> <Response/> </PreFlow> <PostFlow name="PostFlow"> <Request/> <Response/> </PostFlow> <Flows/> <HTTPProxyConnection> <BasePath>/getstarted</BasePath> <Properties/> <VirtualHost>default</VirtualHost> <VirtualHost>secure</VirtualHost> </HTTPProxyConnection> <RouteRule name="default"> <TargetEndpoint>default</TargetEndpoint> </RouteRule> </ProxyEndpoint>- Để thêm một chính sách vào proxy, hãy nhấp vào nút + Step (Bước) trong PreFlow phản hồi (nửa dưới của Trình chỉnh sửa luồng):

Edge hiển thị danh sách các chính sách được phân loại trong hộp thoại Thêm mà bạn có thể thêm vào quy trình của mình:

- Di chuyển xuống rồi chọn chính sách XML sang JSON trong danh mục Hoà giải.
Giữ nguyên tên mặc định rồi nhấp vào Thêm.
Edge đính kèm chính sách mới vào PreFlow của phản hồi:

Xin lưu ý rằng khi bạn nhấp vào Thêm, Edge sẽ làm như sau:
- Thêm chính sách mới trong mục Chính sách trong ngăn Trình điều hướng.
- Thêm chính sách XML sang JSON vào ngăn Flow (Luồng).
- Hiển thị XML cấu hình của chính sách trong ngăn Code (Mã).
- Nhấp vào Lưu để lưu bản sửa đổi hiện tại cùng với các thay đổi của bạn.
Hãy thử ngay! Trong cửa sổ dòng lệnh, hãy thực thi lệnh curl sau:
curl https://org_name-test.apigee.net/getstarted
Trong trường hợp:
- org_name là tên tổ chức mà Apigee đã chỉ định cho bạn khi bạn tạo tài khoản Apigee.
-testlà môi trường. Bạn đã triển khai proxy mới cho môi trường "kiểm thử" trong Bước 1: Tạo một proxy API./getstartedlà Đường dẫn cơ sở của proxy.
Ngoài ra, bạn có thể mở cùng một URL trong trình duyệt.
Bạn sẽ nhận được phản hồi sau:
{
"root": {
"city": "San Jose",
"firstName": "John",
"lastName": "Doe",
"state": "CA"
}
}Nếu nội dung phản hồi không có dạng như thế này, hãy kiểm tra để đảm bảo rằng:
- Điểm cuối mục tiêu của bạn là "https://mocktarget.apigee.net/xml", như mô tả trong Bước 3: Thay đổi điểm cuối mục tiêu:
- Nếu nhận được phản hồi "Xin chào, Khách!", thì bạn cần thêm "/xml" vào cuối điểm cuối mục tiêu.
- Nếu bạn nhận được lỗi 404, hãy kiểm tra để đảm bảo rằng bạn đang truy cập vào "apigee.net" chứ không phải "apigee.com".
- Bản sửa đổi mới nhất của proxy sẽ được triển khai. Hãy thử triển khai lại proxy API theo mô tả trong phần Triển khai và huỷ triển khai một proxy API.
Để xem tiêu đề yêu cầu và phản hồi HTTP, hãy bật chế độ chi tiết trong curl bằng tuỳ chọn -vs (v làm cho phản hồi chi tiết, nhưng s sẽ bỏ qua một số thông tin chi tiết ít thú vị hơn). Ví dụ:
curl -vs https://ahamilton-eval-test.apigee.net/getstarted | python -m json.tool
Bạn sẽ nhận được phản hồi có dạng như sau. Xin lưu ý rằng tiêu đề Content-Type trong phản hồi là "application/json". Chính sách XML sang JSON sẽ thay đổi tiêu đề trước khi gửi phản hồi trở lại.
* Trying 10.20.30.40... * TCP_NODELAY set * Connected to ahamilton-eval-test.apigee.net (10.20.30.40) port 443 (#0) ... > GET /getstarted HTTP/1.1 > Host: ahamilton-eval-test.apigee.net > User-Agent: curl/7.58.0 > Accept: */* > < HTTP/1.1 200 OK < Date: Fri, 25 May 2018 16:20:00 GMT < Content-Type: application/json;charset=UTF-8 < Content-Length: 77 < Connection: keep-alive < X-Powered-By: Apigee < Access-Control-Allow-Origin: * ... { [77 bytes data] { "root": { "city": "San Jose", "firstName": "John", "lastName": "Doe", "state": "CA" } }