Как синхронизировать внешнюю и внутреннюю валидацию

У меня есть проект, использующий микросервисы, интерфейсная часть взаимодействует с серверной частью с помощью нескольких вызовов Rest API.

Обе стороны (передняя или задняя) имеют валидацию. Есть ли хороший способ синхронизировать внутреннюю и внешнюю проверки вместе.

Например, если есть способ создать файл проверки (JSON Yaml и т. Д.), Который передний и задний конец могли бы его правильно прочитать и понять. Только управляя файлом проверки, тогда я могу контролировать проверку на обоих концах. Вместо этого, чтобы изменить проверку, мне нужно уведомить как внешний, так и задний конец, это неэффективно.

Пожалуйста, оставьте свои записи, если у вас возникнут какие-либо мысли.


person Neil    schedule 29.01.2019    source источник
comment
Вы имеете в виду, как вы кодируете или как данные передаются между интерфейсом и сервером?   -  person Constantin Galbenu    schedule 29.01.2019


Ответы (1)


В зависимости от конкретных требований можно использовать что-то вроде протокольных буферов, которые имеют множество опций для проверки.

Если обе конечные точки являются серверами и браузер не задействован, тогда одним из вариантов являются контракты, управляемые потребителем, например: https://spring.io/projects/spring-cloud-contract

Если клиент является браузером, вы можете написать правила проверки на языке программирования, который может компилироваться для работы как на стороне сервера (например, JVM), так и в браузере (например, JavaScript), например: https://ktor.io/

person AlexO    schedule 29.01.2019