অর্ডারিং এন্ড-টু-এন্ড ডেটা ফিডের একটি মেশিন-পাঠযোগ্য সংস্করণ এবং ক্লায়েন্ট সোর্স কোড জেনারেট করতে এবং JSON ডেটার কাঠামো যাচাই করার জন্য পরিপূর্ণ API সংজ্ঞা উপলব্ধ করা হয়েছে। এটি আপনাকে একীকরণের জন্য প্রয়োজনীয় অ্যাপ্লিকেশন ক্ষমতা এবং ব্যবসায়িক যুক্তি বিকাশে আরও বেশি সময় ব্যয় করতে দেয়।
এই উদাহরণে, আমরা একটি সহজে ব্যবহারযোগ্য ক্লায়েন্ট লাইব্রেরি তৈরি করতে কুইকটাইপ CLI ব্যবহার করি।
JSON স্কিমা ডাউনলোড করুন
কোড তৈরি এবং বৈধতার জন্য ডেটা ফিড এবং API-এর এই মেশিন-পাঠযোগ্য সংস্করণগুলি প্রয়োজন।
কোড তৈরি করুন
যখন APIগুলি পরিবর্তন করা হয় তখন কোডগুলি পুনরুত্পাদন করতে Quicktype ব্যবহার করা যেতে পারে যাতে আপনি কেবল প্রভাবিত অ্যাপ্লিকেশন কোড আপডেট করতে পারেন৷ QuickType C++, Java, JavaScript, Python এবং অন্যান্য প্রোগ্রামিং ভাষা সমর্থন করে।
আপনি ক্লায়েন্ট লাইব্রেরি তৈরি করতে JSON স্কিমা সংজ্ঞা সমর্থন করে এমন অন্যান্য উপলব্ধ কোড জেনারেটর সরঞ্জামগুলিও ব্যবহার করতে পারেন।
আপনার অর্ডারিং এন্ড-টু-এন্ড ইন্টিগ্রেশনের জন্য প্রকল্প ডিরেক্টরিতে কুইকটাইপ ইনস্টল করতে নোড প্যাকেজ ম্যানেজার (এনপিএম) ব্যবহার করুন।
npm install quicktype
টাইপস্ক্রিপ্ট
- এন্ড-টু-এন্ড ডেটা ফিড অর্ডার করার জন্য ক্লায়েন্ট সোর্স কোড তৈরি করুন।
quicktype --lang typescript --src-lang schema inventory-v2-json-schema.json#top_level_definitions/ -o ./owg-inventory.ts
- পূরণ API-এর জন্য ক্লায়েন্ট সোর্স কোড তৈরি করুন।
quicktype --lang typescript --src-lang schema fulfillment-actions-json-schema.json#top_level_definitions/ -o ./owg-fulfillment.ts
- রিয়েল-টাইম আপডেট API-এর জন্য ক্লায়েন্ট সোর্স কোড তৈরি করুন।
quicktype --lang typescript --src-lang schema realtime-updates-json-schema.json#top_level_definitions/ -o ./owg-realtime-updates.ts
- আপনার কর্মক্ষেত্রে উত্পন্ন ফাইলগুলি অনুলিপি করুন এবং আপনার ব্যবসার যুক্তি প্রয়োগ করুন৷
ব্যবহার এবং বৈধতা
সত্তা তৈরি এবং তাদের 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);
জাভা
- এন্ড-টু-এন্ড ডেটা ফিড অর্ডার করার জন্য ক্লায়েন্ট সোর্স কোড তৈরি করুন।
quicktype --lang java --src-lang schema inventory-v2-json-schema.json#top_level_definitions/ -o ./java/ --no-date-times --package com.example.inventory
- পূরণ API-এর জন্য ক্লায়েন্ট সোর্স কোড তৈরি করুন।
quicktype --lang java --src-lang schema fulfillment-actions-json-schema.json#top_level_definitions/ -o ./java/ --no-date-times --package com.example.fulfillment
- রিয়েল-টাইম আপডেট API-এর জন্য ক্লায়েন্ট সোর্স কোড তৈরি করুন।
quicktype --lang java --src-lang schema realtime-updates-json-schema.json#top_level_definitions/ -o ./java/ --no-date-times --package com.example.realtime
- আপনার কর্মক্ষেত্রে উত্পন্ন ফাইলগুলি অনুলিপি করুন এবং আপনার ব্যবসার যুক্তি প্রয়োগ করুন৷
ব্যবহার এবং বৈধতা
সত্তা তৈরি এবং তাদের 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); } }
জাভাস্ক্রিপ্ট
- এন্ড-টু-এন্ড ডেটা ফিড অর্ডার করার জন্য ক্লায়েন্ট সোর্স কোড তৈরি করুন।
quicktype --lang javascript --src-lang schema inventory-v2-json-schema.json#top_level_definitions/ -o owg-inventory.js
- পূরণ API-এর জন্য ক্লায়েন্ট সোর্স কোড তৈরি করুন।
quicktype --lang javascript --src-lang schema fulfillment-actions-json-schema.json#top_level_definitions/ -o owg-fulfillment.js
- রিয়েল-টাইম আপডেট API-এর জন্য ক্লায়েন্ট সোর্স কোড তৈরি করুন।
quicktype --lang javascript --src-lang schema realtime-updates-json-schema.json#top_level_definitions/ -o owg-realtime-updates.js
- আপনার কর্মক্ষেত্রে উত্পন্ন ফাইলগুলি অনুলিপি করুন এবং আপনার ব্যবসার যুক্তি প্রয়োগ করুন৷
ব্যবহার এবং বৈধতা
সত্তা তৈরি এবং তাদের 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);
পাইথন
- এন্ড-টু-এন্ড ডেটা ফিড অর্ডার করার জন্য ক্লায়েন্ট সোর্স কোড তৈরি করুন।
quicktype --lang python --src-lang schema inventory-v2-json-schema.json#top_level_definitions/ -o owg_inventory.py
- পূরণ API-এর জন্য ক্লায়েন্ট সোর্স কোড তৈরি করুন।
quicktype --lang python --src-lang schema fulfillment-actions-json-schema.json#top_level_definitions/ -o owg_fulfillment.py
- রিয়েল-টাইম আপডেট API-এর জন্য ক্লায়েন্ট সোর্স কোড তৈরি করুন।
quicktype --lang python --src-lang schema realtime-updates-json-schema.json#top_level_definitions/ -o owg_realtime_updates.py
- আপনার কর্মক্ষেত্রে উত্পন্ন ফাইলগুলি অনুলিপি করুন এবং আপনার ব্যবসার যুক্তি প্রয়োগ করুন৷
ব্যবহার
সত্তা তৈরি এবং তাদের 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))