Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Replace validate_definition with validate_ref #9

Merged
merged 3 commits into from
Apr 29, 2020
Merged

Conversation

kehitt
Copy link

@kehitt kehitt commented Apr 21, 2020

Кажется, что спецификация OAS2 протекла в валидатор JSON Schema. Сейчас это мешает переехать на OAS3, пути то поменялись.

@kehitt kehitt self-assigned this Apr 21, 2020
@keynslug
Copy link

keynslug commented Apr 21, 2020

Сейчас это мешает переехать на OAS3, пути то поменялись.

Как интересно. А можешь ссылок покидать на те куски OAS3, которые это затронуло.

Я просто не понимаю пока, почему мы рассуждаем о протечке. Я вижу, что definitions – это вроде как часть спецификации json schema, в том числе draft 05:

@keynslug
Copy link

Просто чтобы было больше контекста по поводу того, зачем там validate_definition вообще появился:

for-GET#53 (comment)

@kehitt
Copy link
Author

kehitt commented Apr 21, 2020

@keynslug
Странно, я смотрел тут, допустим, и там уже используется $defs. Потому у меня сложилось впечатление, что это скорее рекомендация, чем часть стандарта. И ещё потому, что апстрим тоже избегает подобного хардкода путей.
https://json-schema.org/draft/2019-09/json-schema-core.html#rfc.section.4

В OAS3, допустим, все определения разъехались по различным вариациям пути #/components/{componentType} https://github.com/OAI/OpenAPI-Specification/blob/master/versions/3.0.3.md#componentsObject

Контекст мне понятен, так-то, ничего против не имею, просто у OAS3-схемы в #/definitionsничего нет.

@keynslug
Copy link

Странно, я смотрел тут, допустим, и там уже используется $defs. Потому у меня сложилось впечатление, что это скорее рекомендация, чем часть стандарта. И ещё потому, что апстрим тоже избегает подобного хардкода путей.
https://json-schema.org/draft/2019-09/json-schema-core.html#rfc.section.4

Судя по https://github.com/OAI/OpenAPI-Specification/blob/master/versions/3.0.3.md#schemaObject OAS3 пока всё ещё на древнем draft 04/05. Поэтому на него ссылки и скинул. Иначе нам бы пришлось jesse допиливать до поддержки draft-2019-09. Быть может что-то не доглядел конечно.

Контекст мне понятен, так-то, ничего против не имею, просто у OAS3-схемы в #/definitionsничего нет.

Понял. Тогда быть может ввести validate_ref (validate_local_ref?) с такими же гарантиями в дополнение к validate_definition? После чего validate_definition поверх этой новой функции выразить. Не вижу просто смысла от него избавляться сейчас.

@kehitt
Copy link
Author

kehitt commented Apr 21, 2020

Тогда быть может ввести validate_ref (validate_local_ref?) с такими же гарантиями в дополнение к validate_definition?

Да, теперь думаю что так будет лучше, раз статус definitions не так однозначен, как я думал.

@kehitt kehitt merged commit 600cc83 into master Apr 29, 2020
@kehitt kehitt deleted the ft/validate_ref branch April 29, 2020 13:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants