jsonschema проверяет два разных ответа json

Уже занятая тема, но из того, что я прочитал здесь, следующее помогло мне понять, как она работает внутри:

def bar(a=[]):
     print id(a)
     a = a + [1]
     print id(a)
     return a

>>> bar()
4484370232
4484524224
[1]
>>> bar()
4484370232
4484524152
[1]
>>> bar()
4484370232 # Never change, this is 'class property' of the function
4484523720 # Always a new object 
[1]
>>> id(bar.func_defaults[0])
4484370232
0
задан user3831011 26 March 2019 в 15:06
поделиться

1 ответ

Документация гласит:

По умолчанию предоставление дополнительных свойств является действительным:

Ключевое слово AdditionalProperties используется для управления обработкой лишних вещей, то есть свойства, имена которых не указаны в ключевом слове properties. По умолчанию любые дополнительные свойства разрешены.

Ключевое слово AdditionalProperties может быть логическим или объектом. Если AdditionalProperties является логическим значением и имеет значение false, дополнительные свойства не будут разрешены.

Повторное использование приведенного выше примера, но на этот раз для AdditionalProperties задано значение false.

Так что попробуйте добавить это к вашему query_schema:

query_schema = {
    "type": "object",
    "properties" : {
        "pltfrm_nm": {"type" : "string"},
        "srvr_nm": {"type": "string"},
        "db_nm": {"type": "string"},
        "tbl_nm": {"type": "string"},
        "ip_addr_id": {"type": "string"},
        "usr_id": {"type": "string"},
        "sql_txt": {"type": "string"},
        "timestmp": {"type": "string"},
    },
  "additionalProperties": False
}
0
ответ дан chitown88 26 March 2019 в 15:06
поделиться
Другие вопросы по тегам:

Похожие вопросы: