Chúng tôi cung cấp phiên bản nguồn cấp dữ liệu Toàn diện về đơn đặt hàng và các định nghĩa API thực hiện đơn hàng mà máy có thể đọc được để tạo mã nguồn ứng dụng và xác thực cấu trúc của dữ liệu JSON. Điều này cho phép bạn dành nhiều thời gian hơn để phát triển các tính năng của ứng dụng và logic kinh doanh cần thiết cho quá trình tích hợp.
Trong ví dụ này, chúng ta sử dụng CLI quicktype để tạo một thư viện ứng dụng dễ sử dụng.
Tải giản đồ JSON xuống
Bạn cần có các phiên bản nguồn cấp dữ liệu và API mà máy có thể đọc được để tạo và xác thực mã.
- Đặt hàng nguồn cấp dữ liệu Toàn diện
- API thanh toán và gửi đơn đặt hàng
- Thông tin cập nhật theo thời gian thực
Tạo mã
Bạn có thể sử dụng tính năng Nhập nhanh để tạo lại mã khi API thay đổi, nhờ đó, bạn chỉ cần cập nhật mã ứng dụng bị ảnh hưởng. QuickType hỗ trợ C++, Java, JavaScript, Python và các ngôn ngữ lập trình khác.
Bạn cũng có thể sử dụng các công cụ tạo mã khác có sẵn hỗ trợ các định nghĩa về giản đồ JSON để tạo thư viện ứng dụng.
Sử dụng Trình quản lý gói nút (npm) để cài đặt quicktype trong thư mục dự án cho việc tích hợp Ordering End-to-End.
npm install quicktype
TypeScript
- Tạo mã nguồn ứng dụng cho nguồn cấp dữ liệu Toàn diện về đơn đặt hàng.
quicktype --lang typescript --src-lang schema inventory-v2-json-schema.json#top_level_definitions/ -o ./owg-inventory.ts
- Tạo mã nguồn ứng dụng cho API thực hiện đơn hàng.
quicktype --lang typescript --src-lang schema fulfillment-actions-json-schema.json#top_level_definitions/ -o ./owg-fulfillment.ts
- Tạo mã nguồn ứng dụng cho API cập nhật theo thời gian thực.
quicktype --lang typescript --src-lang schema realtime-updates-json-schema.json#top_level_definitions/ -o ./owg-realtime-updates.ts
- Sao chép các tệp đã tạo vào không gian làm việc và triển khai logic nghiệp vụ.
Cách sử dụng và xác thực
Ví dụ về cách tạo thực thể và chuyển đổi thực thể đó thành JSON:
import { Convert, Fee, OperationHours, Restaurant, Service, ServiceArea, ServiceHours, Menu, MenuSection, Availability, MenuItem, MenuItemOption, MenuItemOffer, FeeType, FeeTypeEnum, RestaurantType } from './owg-inventory'; const restaurant: Restaurant = { "@id": "McDonalds", "@type": RestaurantType.Restaurant, "addressCountry": "US", "addressLocality": "123 Local", "addressRegion": "Region", "name": "MacDonald's", "postalCode": "1234", "streetAddress": "123", "telephone": "+15552999983", "url": "https://example.com", "dateModified": new Date() } const fee: Fee = { "@id": "123", "@type": FeeTypeEnum.Fee, "priceCurrency": "US", "serviceId": "123", "feeType": FeeType.Delivery, "dateModified": new Date() } const restaurantJson: string = Convert.restaurantToJson(restaurant); const feeJson: string = Convert.feeToJson(fee);
Java
- Tạo mã nguồn ứng dụng cho nguồn cấp dữ liệu Toàn diện về đơn đặt hàng.
quicktype --lang java --src-lang schema inventory-v2-json-schema.json#top_level_definitions/ -o ./java/ --no-date-times --package com.example.inventory
- Tạo mã nguồn ứng dụng cho API thực hiện đơn hàng.
quicktype --lang java --src-lang schema fulfillment-actions-json-schema.json#top_level_definitions/ -o ./java/ --no-date-times --package com.example.fulfillment
- Tạo mã nguồn ứng dụng cho API cập nhật theo thời gian thực.
quicktype --lang java --src-lang schema realtime-updates-json-schema.json#top_level_definitions/ -o ./java/ --no-date-times --package com.example.realtime
- Sao chép các tệp đã tạo vào không gian làm việc và triển khai logic nghiệp vụ.
Cách sử dụng và xác thực
Ví dụ về cách tạo thực thể và chuyển đổi thực thể đó thành JSON:
package com.example; import com.example.inventory.Converter; import com.example.inventory.Fee; import com.example.inventory.FeeType; import com.example.inventory.Restaurant; import com.example.inventory.RestaurantType; public class FoodOrderingResponse { public static void main(String[] args) { Restaurant restaurant = new Restaurant(); restaurant.setId("MacDonalds"); restaurant.setType(RestaurantType.RESTAURANT); restaurant.setAddressCountry("US"); restaurant.setAddressLocality("123 Local"); restaurant.setAddressRegion("Region"); restaurant.setName("MacDonald's"); restaurant.setPostalCode("1234"); restaurant.setStreetAddress("123"); restaurant.setTelephone("+15552999983"); restaurant.setUrl("https://example.com"); restaurant.setDateModified("2022-09-19T13:10:00.000Z"); Fee fee = new Fee(); fee.setId("123"); fee.setType(FeeTypeEnum.FEE); fee.setPriceCurrency("US"); fee.setServiceId("123"); fee.setFeeType(FeeType.DELIVERY); fee.setDateModified("2022-09-19T13:13:10.000Z"); String restaurantJson = Converter.RestaurantToJsonString(restaurant); String feeJson = Converter.FeeToJsonString(fee); } }
JavaScript
- Tạo mã nguồn ứng dụng cho nguồn cấp dữ liệu Toàn diện về đơn đặt hàng.
quicktype --lang javascript --src-lang schema inventory-v2-json-schema.json#top_level_definitions/ -o owg-inventory.js
- Tạo mã nguồn ứng dụng cho API thực hiện đơn hàng.
quicktype --lang javascript --src-lang schema fulfillment-actions-json-schema.json#top_level_definitions/ -o owg-fulfillment.js
- Tạo mã nguồn ứng dụng cho API cập nhật theo thời gian thực.
quicktype --lang javascript --src-lang schema realtime-updates-json-schema.json#top_level_definitions/ -o owg-realtime-updates.js
- Sao chép các tệp đã tạo vào không gian làm việc và triển khai logic nghiệp vụ.
Cách sử dụng và xác thực
Ví dụ về cách tạo thực thể và chuyển đổi thực thể đó thành JSON:
// Converts JSON strings to/from your types // and asserts the results of JSON.parse at runtime const Convert = require("./owg-inventory"); const restaurantJson = Convert.restaurantToJson({ "@id": "McDonalds", "@type": 'Restaurant', "addressCountry": "US", "addressLocality": "123 Local", "addressRegion": "Region", "name": "MacDonald's", "postalCode": "1234", "streetAddress": "123", "telephone": "+15552999983", "url": "https://example.com", "dateModified": new Date() })); const restaurant = Convert.toRestaurant(restaurantJson);
Python
- Tạo mã nguồn ứng dụng cho nguồn cấp dữ liệu Toàn diện về đơn đặt hàng.
quicktype --lang python --src-lang schema inventory-v2-json-schema.json#top_level_definitions/ -o owg_inventory.py
- Tạo mã nguồn ứng dụng cho API thực hiện đơn hàng.
quicktype --lang python --src-lang schema fulfillment-actions-json-schema.json#top_level_definitions/ -o owg_fulfillment.py
- Tạo mã nguồn ứng dụng cho API cập nhật theo thời gian thực.
quicktype --lang python --src-lang schema realtime-updates-json-schema.json#top_level_definitions/ -o owg_realtime_updates.py
- Sao chép các tệp đã tạo vào không gian làm việc và triển khai logic nghiệp vụ.
Cách sử dụng
Ví dụ về cách tạo thực thể và chuyển đổi thực thể đó thành JSON:
import json import owg_inventory restaurant: owg_inventory.Restaurant = owg_inventory.restaurant_from_dict({ "@id": "McDonalds", "@type": "Restaurant", "addressCountry": "US", "addressLocality": "123 Local", "addressRegion": "Region", "name": "MacDonald's", "postalCode": "1234", "streetAddress": "123", "telephone": "+15552999983", "url": "https://example.com", "dateModified": "2022-09-19T13:10:00.000Z" }) restaurant_json: str = json.dumps(owg_inventory.restaurant_to_dict(restaurant))