Membuat library klien

Versi yang dapat dibaca mesin dari definisi API fulfillment dan feed data End-to-End pemesanan tersedia untuk membuat kode sumber klien dan memvalidasi struktur data JSON. Dengan demikian, Anda dapat meluangkan lebih banyak waktu dalam mengembangkan kemampuan aplikasi dan logika bisnis yang diperlukan untuk integrasi.

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

Mendownload JSON Schemas

Versi feed data dan API yang dapat dibaca mesin ini diperlukan untuk pembuatan dan validasi kode.

Buat kode

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

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

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

npm install quicktype

TypeScript

  1. Membuat kode sumber klien untuk Mengurutkan feed data Menyeluruh.
    quicktype --lang typescript --src-lang schema inventory-v2-json-schema.json#top_level_definitions/ -o ./owg-inventory.ts
            
  2. Membuat 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. Membuat 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 dan terapkan logika bisnis Anda.

Penggunaan dan validasi

Contoh membuat entity dan mengonversinya ke 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. Membuat kode sumber klien untuk Mengurutkan feed data Menyeluruh.
    quicktype --lang java --src-lang schema inventory-v2-json-schema.json#top_level_definitions/ -o ./java/ --no-date-times --package com.example.inventory
            
  2. Membuat 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. Membuat 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 dan terapkan logika bisnis Anda.

Penggunaan dan validasi

Contoh membuat 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. Membuat kode sumber klien untuk Mengurutkan feed data Menyeluruh.
    quicktype --lang javascript --src-lang schema inventory-v2-json-schema.json#top_level_definitions/ -o owg-inventory.js
            
  2. Membuat 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. Membuat 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 dan terapkan logika bisnis Anda.

Penggunaan dan validasi

Contoh membuat 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. Membuat kode sumber klien untuk Mengurutkan feed data Menyeluruh.
    quicktype --lang python --src-lang schema inventory-v2-json-schema.json#top_level_definitions/ -o owg_inventory.py
            
  2. Membuat 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. Membuat 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 dan terapkan logika bisnis Anda.

Penggunaan

Contoh membuat 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))