क्लाइंट लाइब्रेरी जनरेट करें

सीधे ऑर्डर करने की सुविधा के डेटा फ़ीड और ग्राहक को आइटम भेजने की सुविधा का ऐसा वर्शन जिसे मशीन से आसानी से पढ़ा जा सके एपीआई की परिभाषाएं, क्लाइंट सोर्स कोड को जनरेट करने और JSON डेटा का स्ट्रक्चर. इससे आपको हमारे प्रॉडक्ट को डेवलप करने में ज़्यादा समय देना पड़ता है. इंटिग्रेशन के लिए, ऐप्लिकेशन की सुविधाएं और कारोबारी नियम लागू करना ज़रूरी है.

इस उदाहरण में, हम Quicktype का इस्तेमाल करते हैं सीएलआई का इस्तेमाल करके, आसानी से इस्तेमाल की जा सकने वाली क्लाइंट लाइब्रेरी जनरेट की जा सकती है.

JSON स्कीमा डाउनलोड करें

डेटा फ़ीड और एपीआई के मशीन से पढ़े जा सकने वाले ये वर्शन, कोड जनरेट करने और उनकी पुष्टि करने के लिए ज़रूरी हैं.

कोड जनरेट करें

एपीआई में बदलाव होने पर कोड फिर से जनरेट करने के लिए, Quicktype का इस्तेमाल किया जा सकता है. इससे आपको ये काम करने में मदद मिलेगी तो बस प्रभावित ऐप्लिकेशन कोड को अपडेट करें. QuickType, C++ का समर्थन करता है, Java, JavaScript, Python और अन्य प्रोग्रामिंग भाषाएं.

JSON स्कीमा के साथ काम करने वाले अन्य कोड जनरेटर टूल का भी इस्तेमाल किया जा सकता है परिभाषाओं को पढ़ें.

नोड पैकेज मैनेजर का इस्तेमाल करना (npm) प्रोजेक्ट डायरेक्ट्री में Quicktype इंस्टॉल करने के लिए ऑर्डर करने की सुविधा को सीधे तौर पर ऑप्टिमाइज़ करने के लिए किया जा सकता है.

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