إنشاء مكتبات البرامج

يتم توفير إصدار يمكن للآلة قراءته من خلاصة بيانات الطلب بين الأطراف وتعريفات واجهة برمجة التطبيقات لإنشاء رمز مصدر العميل والتحقق من بنية بيانات JSON. ويسمح لك ذلك بقضاء المزيد من الوقت في تطوير قدرات التطبيقات ومنطق العمل المطلوب للدمج.

في هذا المثال، نستخدم واجهة سطر الأوامر tasktype لإنشاء مكتبة برامج سهلة الاستخدام.

تنزيل مخططات JSON

وهذه النُسخ التي يمكن للأجهزة قراءتها من خلاصات البيانات وواجهات برمجة التطبيقات مطلوبة لإنشاء الرموز البرمجية والتحقق من صحتها.

إنشاء الرموز

يمكن استخدام Quicktype لإعادة إنشاء الرموز عند تغيير واجهات برمجة التطبيقات، بحيث يمكنك ببساطة تحديث رمز التطبيق المتأثر. يدعم QuickType لغات C++ وJava وJavaScript وPython ولغات البرمجة الأخرى.

يمكنك أيضًا استخدام أدوات إنشاء الرموز الأخرى المتاحة التي تتوافق مع تعريفات مخطط JSON لإنشاء مكتبات العميل.

استخدم مدير حزمة العُقد (npm) لتثبيت النوع السريع في دليل المشروع الخاص بالتكامل الشامل للطلب.

npm install quicktype

TypeScript

  1. إنشاء رمز مصدر العميل لخلاصات البيانات الشاملة للطلب.
    quicktype --lang typescript --src-lang schema inventory-v2-json-schema.json#top_level_definitions/ -o ./owg-inventory.ts
            
  2. إنشاء رمز مصدر العميل لواجهة برمجة تطبيقات التنفيذ.
    quicktype --lang typescript --src-lang schema fulfillment-actions-json-schema.json#top_level_definitions/ -o ./owg-fulfillment.ts
            
  3. إنشاء رمز مصدر العميل لواجهة برمجة التطبيقات الخاصة بالتحديثات في الوقت الفعلي.
    quicktype --lang typescript --src-lang schema realtime-updates-json-schema.json#top_level_definitions/ -o ./owg-realtime-updates.ts
            
  4. انسخ الملفات التي تم إنشاؤها إلى مساحة العمل ونفِّذ منطق نشاطك التجاري.

الاستخدام والتحقق من الصحة

مثال على إنشاء كيانات وتحويلها إلى 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. إنشاء رمز مصدر العميل لخلاصات البيانات الشاملة للطلب.
    quicktype --lang java --src-lang schema inventory-v2-json-schema.json#top_level_definitions/ -o ./java/ --no-date-times --package com.example.inventory
            
  2. إنشاء رمز مصدر العميل لواجهة برمجة تطبيقات التنفيذ.
    quicktype --lang java --src-lang schema fulfillment-actions-json-schema.json#top_level_definitions/ -o ./java/ --no-date-times --package com.example.fulfillment
            
  3. إنشاء رمز مصدر العميل لواجهة برمجة التطبيقات الخاصة بالتحديثات في الوقت الفعلي.
    quicktype --lang java --src-lang schema realtime-updates-json-schema.json#top_level_definitions/ -o ./java/ --no-date-times --package com.example.realtime
            
  4. انسخ الملفات التي تم إنشاؤها إلى مساحة العمل ونفِّذ منطق نشاطك التجاري.

الاستخدام والتحقق من الصحة

مثال على إنشاء كيانات وتحويلها إلى 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. إنشاء رمز مصدر العميل لخلاصات البيانات الشاملة للطلب.
    quicktype --lang javascript --src-lang schema inventory-v2-json-schema.json#top_level_definitions/ -o owg-inventory.js
            
  2. إنشاء رمز مصدر العميل لواجهة برمجة تطبيقات التنفيذ.
    quicktype --lang javascript --src-lang schema fulfillment-actions-json-schema.json#top_level_definitions/ -o owg-fulfillment.js
            
  3. إنشاء رمز مصدر العميل لواجهة برمجة التطبيقات الخاصة بالتحديثات في الوقت الفعلي.
    quicktype --lang javascript --src-lang schema realtime-updates-json-schema.json#top_level_definitions/ -o owg-realtime-updates.js
            
  4. انسخ الملفات التي تم إنشاؤها إلى مساحة العمل ونفِّذ منطق نشاطك التجاري.

الاستخدام والتحقق من الصحة

مثال على إنشاء كيانات وتحويلها إلى 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. إنشاء رمز مصدر العميل لخلاصات البيانات الشاملة للطلب.
    quicktype --lang python --src-lang schema inventory-v2-json-schema.json#top_level_definitions/ -o owg_inventory.py
            
  2. إنشاء رمز مصدر العميل لواجهة برمجة تطبيقات التنفيذ.
    quicktype --lang python --src-lang schema fulfillment-actions-json-schema.json#top_level_definitions/ -o owg_fulfillment.py
            
  3. إنشاء رمز مصدر العميل لواجهة برمجة التطبيقات الخاصة بالتحديثات في الوقت الفعلي.
    quicktype --lang python --src-lang schema realtime-updates-json-schema.json#top_level_definitions/ -o owg_realtime_updates.py
            
  4. انسخ الملفات التي تم إنشاؤها إلى مساحة العمل ونفِّذ منطق نشاطك التجاري.

الاستخدام

مثال على إنشاء كيانات وتحويلها إلى 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))