Membuat library klien

Versi feed data dan pemenuhan pesanan Menyeluruh yang dapat dibaca mesin Definisi API disediakan untuk menghasilkan kode sumber klien dan memvalidasi dalam struktur data JSON. Hal ini memungkinkan Anda untuk menghabiskan lebih banyak waktu dalam mengembangkan kemampuan aplikasi dan logika bisnis yang diperlukan untuk integrasi.

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

Download Skema JSON

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 bila API diubah sehingga Anda dapat cukup perbarui 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 Skema JSON definisi untuk menghasilkan library klien.

Menggunakan Node package manager (npm) untuk menginstal quicktype di direktori project untuk integrasi Pemesanan Menyeluruh.

npm install quicktype

TypeScript

  1. Buat kode sumber klien untuk Pemesanan feed data Menyeluruh.
    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. 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 Anda dan terapkan logika bisnis Anda.

Penggunaan dan validasi

Contoh cara 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. Buat kode sumber klien untuk Pemesanan 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. 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. 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 Anda dan terapkan logika bisnis Anda.

Penggunaan dan validasi

Contoh cara 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. Buat kode sumber klien untuk Pemesanan feed data Menyeluruh.
    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. 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 Anda dan terapkan logika bisnis Anda.

Penggunaan dan validasi

Contoh cara 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. Buat kode sumber klien untuk Pemesanan feed data Menyeluruh.
    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. 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 Anda dan terapkan logika bisnis Anda.

Penggunaan

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