JSON Schema yalnızca yazdığınız kuralları doğrular
Okunabilir JSON bir isteğe uygun olmayabilir. Şema beklenen veriyi tanımlar; yazılmamış koşulları uygulamaz ve verinin dışındaki gerçekleri kanıtlamaz.
Alanın varlığı ile türü farklı kararlardır
Bir alanı properties içinde tanımlamak, bulunduğunda sınırlar; tek başına zorunlu yapmaz. Mutlaka gelmesi gerekiyorsa required kullanın.
3 sayısı ile "3" metni farklıdır. Birinin kabulü diğerinin otomatik dönüştürüleceğini göstermez; sözleşmeyi tüketicinin gereksinimine göre tasarlayın.
Kaynaklar: JSON Schema — Properties, required fields and additional properties
Fazladan alanlara karar verin
Basit nesne şemasında additionalProperties: false tanımsız alanları reddeder. Ad yazım yanlışlarını yakalayabilir; sözleşme genişlediğinde bilinçli güncelleme gerekir.
Eksik alanı, yanlış türü ve ek özelliği ayrı örneklerle deneyin. Her örneğin sınadığı kural belli olunca sonuç anlaşılır.
Kaynaklar: JSON Schema — Properties, required fields and additional properties
Şemaya uyum isteğin onayı değildir
ToolRoof Draft 2020-12’nin yerel bir alt kümesini kontrol eder. Uzak şemaları getirmez ve her anahtar sözcüğü desteklemez; desteklenmeyeni sessizce geçerli saymak yerine bildirir.
Başarı ürün varlığını, veritabanı fiyatını veya kullanıcı yetkisini kanıtlamaz. default açıklaması da bu denetleyicide eksik alanı doldurmaz.
Örnek: gizli tür dönüşümü olmadan zorunlu miktar
Sözleşmede quantity, en az 1 olan integer türünde, required içinde ve ek özellikler yasak olsun. {"quantity":3} geçer; {"quantity":"3"} tür nedeniyle kalır.
{} eksik alan, {"quantity":3,"note":"draft"} ek özellik yüzünden kalır. 3 değerinin geçmesi stokta 3 adet olduğunu kanıtlamaz; bu örneğin dışındaki bir kuraldır.