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ừ đầ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ã.

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

  1. 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
            
  2. 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
            
  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.

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

  1. 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
            
  2. 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
            
  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.

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

  1. 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
            
  2. 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
            
  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.

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

  1. 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
            
  2. 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
            
  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 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))