ონლაინ JSON SchemaკონვერტორშიOpenAPI
თქვენი მონაცემთა მოდელების სხვადასხვა სტანდარტებს შორის მიგრაცია შეიძლება იყოს დამღლელი, ხელით შესრულებული სამუშაო. ჩვენი JSON Schemato OpenAPIConverter ავტომატიზირებს ამ პროცესს, რაც საშუალებას გაძლევთ მყისიერად გარდაქმნათ სტანდარტული JSON Schemaგანმარტებები OpenAPIსპეციფიკაციასთან(OAS) თავსებად ფორმატებში. მიუხედავად იმისა, ქმნით თუ არა Swagger დოკუმენტაციას თუ განსაზღვრავთ მოთხოვნას/პასუხის ფორმებს, ეს ინსტრუმენტი უზრუნველყოფს სიზუსტეს და შესაბამისობას.
რატომ უნდა გადაკეთდეს JSON Schema-ზე OpenAPI?
მიუხედავად იმისა, რომ OpenAPI(ყოფილი Swagger) იყენებს -ის ქვესიმრავლეს JSON Schema, არსებობს მნიშვნელოვანი განსხვავებები იმაში, თუ როგორ გამოიყენება გარკვეული საკვანძო სიტყვები, როგორიცაა type, nullableდა, სხვადასხვა ვერსიასა(Draft 4, 7 ან 2019-09) და 3.0/3.1 სპეციფიკაციებს შორის.formatOpenAPI
თავსებადობის ხარვეზის აღმოფხვრა
OpenAPI3.0 ვერსიას აქვს სპეციფიკური შეზღუდვები, რომლებიც განსხვავდება სტანდარტულისგან JSON Schema. ჩვენი გადამყვანი აგვარებს ამ ნიუანსებს, როგორიცაა dependenciesთავსებად ლოგიკაზე კონვერტაცია ან typeმასივების რეგულირება მისი მკაცრი მოთხოვნების დასაკმაყოფილებლად OpenAPI, რაც უზრუნველყოფს თქვენი API დოკუმენტაციის ვალიდურობას.
API-ის შემუშავების გამარტივება
თქვენი API დოკუმენტებისთვის მონაცემთა ბაზის მოდელების ან ვალიდაციის სქემების გადაწერის ნაცვლად, შეგიძლიათ უბრალოდ ჩასვათ არსებული JSON Schema. ეს ამცირებს ადამიანურ შეცდომებს და თქვენი backend ლოგიკა და დოკუმენტაცია იდეალურად სინქრონიზებული იქნება.
ჩვენი კონვერტორის ძირითადი მახასიათებლები
ჩვენი ინსტრუმენტი შექმნილია დეველოპერებისთვის, რომლებსაც API სპეციფიკაციების მართვისას სიზუსტე და სიჩქარე სჭირდებათ.
1. მრავალი JSON Schemaმონახაზის მხარდაჭერა
მიუხედავად იმისა, თქვენი საწყისი სქემა დაფუძნებულია მე-4, მე-7 თუ 2020-12 ვერსიებზე, ჩვენი ძრავა ამოიცნობს სტრუქტურას და აკავშირებს მას უახლოეს OpenAPIეკვივალენტთან.
2. OpenAPI3.0 და 3.1 მზადაა
OpenAPI3.1 ვერსია ახლა სრულად თავსებადია JSON Schema2019-09 ვერსიებთან. თუმცა, თუ თქვენ კვლავ იყენებთ OpenAPI3.0 ვერსიას, ჩვენი ინსტრუმენტი ავტომატურად „დააქვეითებს“ კონკრეტულ ველებს(მაგალითად, nullable: true-ს ნაცვლად type: ["string", "null"]) თავსებადობის შესანარჩუნებლად.
3. მყისიერი ვალიდაცია და ფორმატირება
ის არა მხოლოდ მონაცემებს გარდაქმნის, არამედ გამომავალსაც ალამაზებს. თქვენ მიიღებთ სუფთა, ჩაღრმავებულ და ვალიდურ OpenAPIსქემას, რომელიც მზადაა თქვენს განყოფილებაში ჩასასმელად components/schemas.
როგორ გამოვიყენოთ კონვერტერი
ჩასვით თქვენი კოდი: დააკოპირეთ თქვენი წყარო JSON Schemaშეყვანის რედაქტორში.
ვერსიის არჩევა(არასავალდებულო): აირჩიეთ, გსურთ თუ არა გამომავალი ოპტიმიზაცია OpenAPI3.0-ისთვის თუ უფრო ახალი 3.1 სტანდარტისთვის.
დააჭირეთ ღილაკს „კონვერტაცია“: ინსტრუმენტი დაამუშავებს ლოგიკას და გამომავალ ფანჯარაში აჩვენებს OpenAPI-თან თავსებად შედეგს.
კოპირება და გამოყენება: გამოიყენეთ ღილაკი „კოპირება“, რათა მიიღოთ თქვენი ახალი სქემა Swagger-ის ან Redocly-ის დოკუმენტაციისთვის.
ტექნიკური განსხვავებები, რომლებსაც ყურადღება უნდა მიაქციოთ
„Nullable“ თვისების დამუშავება
სტანდარტულ ვერსიაში JSON Schema, nullable ველი ხშირად განისაზღვრება, როგორც type: ["string", "null"]. OpenAPI3.0 ვერსიაში ეს უნდა გადაკეთდეს type: stringცალკე nullable: trueთვისებით. ჩვენი გადამყვანი ამას ავტომატურად ამუშავებს.
საკვანძო სიტყვა „ფორმატი“
OpenAPIformatვალიდაციისთვის საკვანძო სიტყვას უფრო ფართოდ იყენებს(მაგ., int32, int64, float, double). ჩვენი ინსტრუმენტი უზრუნველყოფს, რომ ეს ფორმატები შენარჩუნდეს და სწორად იყოს მიმაგრებული ტრანსფორმაციის დროს.
ხშირად დასმული კითხვები(FAQ)
ეს გადამყვანი თავსებადია Swagger 2.0-თან?
მიუხედავად იმისა, რომ ყურადღება OpenAPI3.x ვერსიაზეა გამახვილებული, გენერირებული სქემები დიდწილად თავსებადია Swagger 2.0-თან, თუმცა definitionsშესაძლოა საჭირო გახდეს სექციის გარკვეული კორექტირება.
ჩემი მონაცემები ბრაუზერს ტოვებს?
არა. ყველა კონვერტაციის ლოგიკა ლოკალურად ხდება თქვენს ბრაუზერში JavaScript-ის გამოყენებით. თქვენი მგრძნობიარე API სქემები არასდროს იგზავნება ჩვენს სერვერებზე.
შემიძლია დიდი, რთული სქემების კონვერტაცია?
დიახ. ჩვენი ინსტრუმენტი ოპტიმიზირებულია ღრმად ჩადგმული სქემებისა და დიდი ობიექტების განმარტებების დასამუშავებლად, შესრულების შეფერხების გარეშე.