Ana içeriğe atla
Bu senaryoda Apinizer üzerinde oluşturulan Mock API’ye JSON Schema Validation politikasının uygulanması test edilecektir. Senaryoda gelen isteklerin JSON body’sinin aynı olduğunu varsayarak, bunu All kısmına ekleyelim. Generate JWK Ekranı Politika olarak JSON Schema Validation ekliyoruz. Generate JWK Ekranı Mock Api’de örnek request body aşağıdaki gibi olacak:
{
  "id": 1,
  "name": "John Doe",
  "email": "[email protected]",
  "age": 30,
  "isActive": true,
  "addresses": [
    {
      "street": "123 Elm St",
      "city": "Springfield",
      "postalCode": "12345"
    },
    {
      "street": "456 Oak St",
      "city": "Shelbyville",
      "postalCode": "67890"
    }
  ]
}
Buna uygun bir JSON Schema Validation aşağıdakileri içermekte:
  • id: Zorunlu, pozitif bir tamsayı.
  • name: Zorunlu, boş olamaz.
  • email: Zorunlu, geçerli bir e-posta formatında olmalı.
  • age: Opsiyonel, sıfır veya daha büyük bir tamsayı.
  • isActive: Opsiyonel, boolean bir değer.
  • addresses: Opsiyonel, adresleri içeren bir dizi. Her adres, street, city, ve postalCode alanlarını içermelidir.
Politikaya eklenecek JSON Schema Validation:
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "id": {
      "type": "integer",
      "minimum": 1
    },
    "name": {
      "type": "string",
      "minLength": 1
    },
    "email": {
      "type": "string",
      "format": "email"
    },
    "age": {
      "type": "integer",
      "minimum": 0
    },
    "isActive": {
      "type": "boolean"
    },
    "addresses": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "street": { "type": "string" },
          "city": { "type": "string" },
          "postalCode": { "type": "string", "pattern": "^[0-9]{5}$" }
        },
        "required": ["street", "city", "postalCode"]
      }
    }
  },
  "required": ["id", "name", "email"]
}
Yukarıdaki Json Schema Validation içeriği aşağıdaki görselde “Schema” alanına eklenir ve kaydedilir. Generate JWK Ekranı Test konsolundan örnek istek attığımızda, email yanlış gönderildi ve validasyon işlemi yapıldı. Eposta geçerli değil şeklinde bir uyarı aldık. Generate JWK Ekranı