Phiên bản mà máy có thể đọc được của nguồn cấp dữ liệu từ đầu đến cuối sắp xếp thứ tự và các định nghĩa API thực hiện đã được cung cấp để tạo mã nguồn ứng dụng khách và xác thực cấu trúc của dữ liệu JSON. Điều này giú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 nghiệp vụ cần thiết cho việc tích hợp.
Trong ví dụ này, chúng tôi sử dụng CLI loại nhanh để tạo một thư viện ứng dụng dễ sử dụng.
Tải Giản đồ JSON xuống
Những phiên bản nguồn cấp dữ liệu và API mà máy có thể đọc được là cần thiết để tạo và xác thực mã.
- Sắp xếp nguồn cấp dữ liệu hai đầu
- 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ể dùng loại Quicktype để tạo lại mã khi API thay đổi, nhờ đó, bạn chỉ cần cập nhật mã xử lý ứ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ã có sẵn khác hỗ trợ định nghĩa 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 loại nhanh trong thư mục dự án cho quy trình tích hợp Đầu cuối sắp xếp thứ tự.
npm install quicktype
TypeScript
- Tạo mã nguồn ứng dụng khách để sắp xếp thứ tự nguồn cấp dữ liệu hai đầu.
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.
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 kinh doanh của bạn.
Sử dụng và xác thực
Ví dụ về cách tạo thực thể và chuyển đổi chúng 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 khách để sắp xếp thứ tự nguồn cấp dữ liệu hai đầu.
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.
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 kinh doanh của bạn.
Sử dụng và xác thực
Ví dụ về cách tạo thực thể và chuyển đổi chúng 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 khách để sắp xếp thứ tự nguồn cấp dữ liệu hai đầu.
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.
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 kinh doanh của bạn.
Sử dụng và xác thực
Ví dụ về cách tạo thực thể và chuyển đổi chúng 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 khách để sắp xếp thứ tự nguồn cấp dữ liệu hai đầu.
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.
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 kinh doanh của bạn.
Cách sử dụng
Ví dụ về cách tạo thực thể và chuyển đổi chúng 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))