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

Подробное описание ошибок валидации #21

Open
wants to merge 3 commits into
base: main
Choose a base branch
from

Conversation

d-hurricane
Copy link
Contributor

Первый проход в решении задачи #16 . Начал с того, что обернул всю работу с ошибками и предупреждениями в отдельные методы. Т.о. в дальнейшем в рамках этой же задачи будет проще изменить формат описания ошибок на выходе валидации. Попутно кое-что отрефакторил, подсветил пару вопросов метками TODO, а также предложил варианты для будущих кодов ошибок.

Прошу провести ревью. После него продолжу решение задачи в рамках этого же pull request.

@sonar-1cdevelopers-ru

This comment has been minimized.

@sonar-1cdevelopers-ru

This comment has been minimized.

@d-hurricane
Copy link
Contributor Author

Реализовал вывод подробного описания ошибок. На выходе получаем таблицу значений со следующими колонками:

Колонка Тип Описание
КодОшибки Строка Постарался придумать коды ошибок так, как если бы это были названия классов в ООП. Сразу прошу прощения, с английским у меня туго. В итоге получилось не рыба, ни мясо, как мне кажется. Через чур подробно, хочется укрупнить категории ошибок. Но тогда теряется возможность собственной локализации языка ошибок на стороне клиента.
Позиция Массив Сперва хотел сделать строкой, разделив части пути точками, но потом подумал, что имена полей сами могу иметь точки. И тогда на стороне клиента будут трудности с автоматической локализации позиции ошибки. Может, если и выводить позицию строкой, то стоит это сделать в формате json-ссылок с экранированием слешей в именах свойств?
Представление Строка Прежнее сообщение об ошибке, осталось почти без изменений.
Предупреждение Булево Признак, по которому разделяем ошибки от предупреждений. Хотел сперва использовать что-то вроде уровней важности, но не придумал, как использовать больше двух имеющихся.
ДополнительныеПараметры Структура Коллекция с дополнительной информацией об ошибке. Не всегда по содержимому совпадает с параметрами, используемыми при формировании представления ошибки. Не решил, надо ли это вообще.

@sonar-1cdevelopers-ru
Copy link

Passed

Analysis Details

0 Issues

  • Bug 0 Bugs
  • Vulnerability 0 Vulnerabilities
  • Code Smell 0 Code Smells

Coverage and Duplications

  • Coverage No coverage information (0.00% Estimated after merge)
  • Duplications 0.00% Duplicated Code (0.00% Estimated after merge)

Project ID: 1c_openApi_validation

View in SonarQube

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.

1 participant