𝗖𝗼𝗹𝗱𝗙𝘂𝗹𝘀𝗶𝗼𝗻 𝗚𝗥𝗔𝗣𝗛𝗤𝗟 𝘃𝘀 𝗥𝗘𝗦𝗧
Các nhà phát triển ColdFusion đối mặt với một lựa chọn đặc thù khi xây dựng các API. Hầu hết các hướng dẫn đều so sánh GraphQL và REST một cách tổng quát. Họ đã bỏ lỡ cách mà ColdFusion xử lý chúng theo những cách khác nhau.
REST là tính năng nguyên bản trong ColdFusion. Bạn có thể xây dựng các REST API một cách dễ dàng bằng cách sử dụng cfcomponent rest="true". Bạn có thể tiêu thụ chúng bằng cfhttp. Nó hoạt động tốt ở cả hai đầu mà không cần thêm công cụ bổ trợ.
GraphQL hoạt động theo cách khác trong ColdFusion. Nó có tính bất đối xứng.
ColdFusion 2023 đã giới thiệu một GraphQL client nguyên bản. Bạn sử dụng getGraphQLClient() để giao tiếp với các dịch vụ bên ngoài như GitHub hoặc Shopify. Điều này hoạt động rất tốt để tiêu thụ dữ liệu.
Tuy nhiên, ColdFusion không hỗ trợ cung cấp GraphQL một cách nguyên bản. Bạn vẫn chưa thể dễ dàng công khai dữ liệu của chính mình dưới dạng một GraphQL endpoint. Adobe có kế hoạch bổ sung tính năng này sau.
Để xây dựng một GraphQL server trong ColdFusion hiện nay, bạn phải tự mình thực hiện. Bạn cần:
- Các Resolver CFCs
- Một thư viện Java như
graphql-java - Hoặc một bản triển khai CFML từ bên thứ ba
Lưu ý: GraphQL client nguyên bản yêu cầu Adobe ColdFusion 2023 hoặc mới hơn. Nó không hoạt động trên Lucee.
Quyết định của bạn phụ thuộc vào mục tiêu của bạn.
- Sử dụng REST nếu bạn muốn xây dựng và công khai các API một cách nhanh chóng.
- Sử dụng GraphQL nếu bạn cần lấy dữ liệu từ các dịch vụ bên ngoài.
Hãy chọn công cụ phù hợp với các giới hạn nền tảng hiện tại của bạn.
Optional learning community: https://t.me/GyaanSetuAi