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