Tạo thư viện ứng dụng

Phiên bản mà máy có thể đọc được của nguồn cấp dữ liệu đặt hàng và phương thức thực hiện đơn hàng Các định nghĩa về API được cung cấp để tạo mã nguồn ứng dụng và xác thực cấu trúc của dữ liệu JSON. Nhờ đó, bạn có thể dành nhiều thời gian hơn cho việc phát triển khả năng của ứng dụng và logic kinh doanh cần thiết để tích hợp.

Trong ví dụ này, chúng tôi sẽ sử dụng Quicktype CLI để tạo một thư viện ứng dụng dễ sử dụng.

Tải giản đồ JSON xuống

Đây là những phiên bản mà máy có thể đọc được của nguồn cấp dữ liệu và API để tạo và xác thực mã.

Tạo mã

Quicktype có thể được dùng để tạo lại mã khi API thay đổi để bạn có thể 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 có hỗ trợ Lược đồ JSON định nghĩa để 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 để tích hợp Dịch vụ đặt hàng hoàn chỉnh.

npm install quicktype

TypeScript

  1. Tạo mã nguồn khách hàng cho nguồn cấp dữ liệu Đặt hàng từ đầu đến cuối.
    quicktype --lang typescript --src-lang schema inventory-v2-json-schema.json#top_level_definitions/ -o ./owg-inventory.ts
            
  2. Tạo mã nguồn ứng dụng cho API phương thức thực hiện.
    quicktype --lang typescript --src-lang schema fulfillment-actions-json-schema.json#top_level_definitions/ -o ./owg-fulfillment.ts
            
  3. 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
            
  4. 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à xác thực

Ví dụ về cách tạo thực thể và chuyển đổi thực thể sang 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

  1. Tạo mã nguồn khách hàng cho nguồn cấp dữ liệu Đặt hàng từ đầu đến cuối.
    quicktype --lang java --src-lang schema inventory-v2-json-schema.json#top_level_definitions/ -o ./java/ --no-date-times --package com.example.inventory
            
  2. Tạo mã nguồn ứng dụng cho API phương thức 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
            
  3. 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
            
  4. 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à xác thực

Ví dụ về cách tạo thực thể và chuyển đổi thực thể sang 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

  1. Tạo mã nguồn khách hàng cho nguồn cấp dữ liệu Đặt hàng từ đầu đến cuối.
    quicktype --lang javascript --src-lang schema inventory-v2-json-schema.json#top_level_definitions/ -o owg-inventory.js
            
  2. Tạo mã nguồn ứng dụng cho API phương thức thực hiện.
    quicktype --lang javascript --src-lang schema fulfillment-actions-json-schema.json#top_level_definitions/ -o owg-fulfillment.js
            
  3. 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
            
  4. 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à xác thực

Ví dụ về cách tạo thực thể và chuyển đổi thực thể sang 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

  1. Tạo mã nguồn khách hàng cho nguồn cấp dữ liệu Đặt hàng từ đầu đến cuối.
    quicktype --lang python --src-lang schema inventory-v2-json-schema.json#top_level_definitions/ -o owg_inventory.py
            
  2. Tạo mã nguồn ứng dụng cho API phương thức thực hiện.
    quicktype --lang python --src-lang schema fulfillment-actions-json-schema.json#top_level_definitions/ -o owg_fulfillment.py
            
  3. 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
            
  4. 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 thực thể sang 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))