Membuat library klien

Definisi API fulfillment dan feed data Ordering End-to-End versi yang dapat dibaca mesin disediakan untuk membuat kode sumber klien dan memvalidasi struktur data JSON. Hal ini memungkinkan Anda menghabiskan lebih banyak waktu dalam mengembangkan kemampuan aplikasi dan logika bisnis yang diperlukan untuk integrasi.

Dalam contoh ini, kita menggunakan CLI quicktype untuk membuat library klien yang mudah digunakan.

Mendownload Skema JSON

Feed data dan API versi yang dapat dibaca mesin ini diperlukan untuk pembuatan dan validasi kode.

Membuat kode

Quicktype dapat digunakan untuk membuat ulang kode saat API diubah sehingga Anda dapat memperbarui kode aplikasi yang terpengaruh. QuickType mendukung C++, Java, JavaScript, Python, dan bahasa pemrograman lainnya.

Anda juga dapat menggunakan alat generator kode lain yang tersedia dan mendukung definisi JSON Schema untuk membuat library klien.

Gunakan Pengelola paket Node (npm) untuk menginstal quicktype di direktori project untuk integrasi Pemesanan Lengkap Anda.

npm install quicktype

TypeScript

  1. Buat kode sumber klien untuk feed data Pemesanan End-to-End.
    quicktype --lang typescript --src-lang schema inventory-v2-json-schema.json#top_level_definitions/ -o ./owg-inventory.ts
            
  2. Buat kode sumber klien untuk fulfillment API.
    quicktype --lang typescript --src-lang schema fulfillment-actions-json-schema.json#top_level_definitions/ -o ./owg-fulfillment.ts
            
  3. Buat kode sumber klien untuk API update real-time.
    quicktype --lang typescript --src-lang schema realtime-updates-json-schema.json#top_level_definitions/ -o ./owg-realtime-updates.ts
            
  4. Salin file yang dihasilkan ke ruang kerja Anda dan terapkan logika bisnis Anda.

Penggunaan dan validasi

Contoh pembuatan entity dan mengonversinya menjadi 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. Buat kode sumber klien untuk feed data Pemesanan End-to-End.
    quicktype --lang java --src-lang schema inventory-v2-json-schema.json#top_level_definitions/ -o ./java/ --no-date-times --package com.example.inventory
            
  2. Buat kode sumber klien untuk fulfillment API.
    quicktype --lang java --src-lang schema fulfillment-actions-json-schema.json#top_level_definitions/ -o ./java/ --no-date-times --package com.example.fulfillment
            
  3. Buat kode sumber klien untuk API update real-time.
    quicktype --lang java --src-lang schema realtime-updates-json-schema.json#top_level_definitions/ -o ./java/ --no-date-times --package com.example.realtime
            
  4. Salin file yang dihasilkan ke ruang kerja Anda dan terapkan logika bisnis Anda.

Penggunaan dan validasi

Contoh pembuatan entity dan mengonversinya ke 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. Buat kode sumber klien untuk feed data Pemesanan End-to-End.
    quicktype --lang javascript --src-lang schema inventory-v2-json-schema.json#top_level_definitions/ -o owg-inventory.js
            
  2. Buat kode sumber klien untuk fulfillment API.
    quicktype --lang javascript --src-lang schema fulfillment-actions-json-schema.json#top_level_definitions/ -o owg-fulfillment.js
            
  3. Buat kode sumber klien untuk API update real-time.
    quicktype --lang javascript --src-lang schema realtime-updates-json-schema.json#top_level_definitions/ -o owg-realtime-updates.js
            
  4. Salin file yang dihasilkan ke ruang kerja Anda dan terapkan logika bisnis Anda.

Penggunaan dan validasi

Contoh pembuatan entity dan mengonversinya ke 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. Buat kode sumber klien untuk feed data Pemesanan End-to-End.
    quicktype --lang python --src-lang schema inventory-v2-json-schema.json#top_level_definitions/ -o owg_inventory.py
            
  2. Buat kode sumber klien untuk fulfillment API.
    quicktype --lang python --src-lang schema fulfillment-actions-json-schema.json#top_level_definitions/ -o owg_fulfillment.py
            
  3. Buat kode sumber klien untuk API update real-time.
    quicktype --lang python --src-lang schema realtime-updates-json-schema.json#top_level_definitions/ -o owg_realtime_updates.py
            
  4. Salin file yang dihasilkan ke ruang kerja Anda dan terapkan logika bisnis Anda.

Penggunaan

Contoh pembuatan entity dan mengonversinya ke 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))