Я пытаюсь разобраться с управлением версиями в .Net core Web Api 2.0, и после просмотра множества «учебников» у меня возникли некоторые вопросы.
Например, у меня есть большой API с множеством контроллеров/моделей/и т. д. 1. Как лучше всего создать новую версию?
Я видел, как люди просто помещали все контроллеры в другую папку /controllers/v1/ / контроллеры/v2/ и т. д., а также модели в /models/v1/, models/v2 и т. д.
< li>Я видел, как все версии контроллеров помещались в один файл и использовались атрибуты, чтобы указать, какой контроллер принадлежит какой версии. (На мой взгляд, это выглядит запутанно, потому что вы теряете представление о том, у кого есть несколько версий, а у кого нет).
Я видел, как люди просто копировали и вставляли почти все в новые папки версий: /v1/controllers, /v1/models, /v2/controllers, /v2/models. По сути, это просто клонирование всей базы кода в новую папку. (Мне нравится этот, потому что, если можно удалить старую версию, вы можете просто удалить всю папку, и все готово).
2. Как вы справляетесь с изменениями пространства имен?
Например, у вас есть папка с v1, в которой есть все контроллеры, модели и т. д. И затем вы хотите чтобы скопировать все в v2 для новой версии. Все пространства имен во всех этих файлах по-прежнему содержат расширение .v1. Как переименовать их все в новое пространство имен?
Я пытаюсь разобраться с управлением версиями в .Net core Web Api 2.0, и после просмотра множества «учебников» у меня возникли некоторые вопросы. Например, у меня есть большой API с множеством контроллеров/моделей/и т. д. [b]1. Как лучше всего создать новую версию?[/b] [list] [*]Я видел, как люди просто помещали все контроллеры в другую папку /controllers/v1/ / контроллеры/v2/ и т. д., а также модели в /models/v1/, models/v2 и т. д. < li>Я видел, как все версии контроллеров помещались в один файл и использовались атрибуты, чтобы указать, какой контроллер принадлежит какой версии. (На мой взгляд, это выглядит запутанно, потому что вы теряете представление о том, у кого есть несколько версий, а у кого нет). [*]Я видел, как люди просто копировали и вставляли почти все в новые папки версий: /v1/controllers, /v1/models, /v2/controllers, /v2/models. По сути, это просто клонирование всей базы кода в новую папку. (Мне нравится этот, потому что, если можно удалить старую версию, вы можете просто удалить всю папку, и все готово). [/list] [b] 2. Как вы справляетесь с изменениями пространства имен?[/b] Например, у вас есть папка с v1, в которой есть все контроллеры, модели и т. д. И затем вы хотите чтобы скопировать все в v2 для новой версии. Все пространства имен во всех этих файлах по-прежнему содержат расширение .v1. Как переименовать их все в новое пространство имен?
Я пытаюсь сделать это уже несколько дней, и мне действительно трудно. Как создать все возможные отсканированные папки из приведенной ниже строки и заменить все возможные папки в %%%ANY_DIR%%%?
$multiple_folder_scan_structure =...
Я пытаюсь сделать это уже несколько дней, и мне действительно трудно. Как создать все возможные отсканированные папки из приведенной ниже строки и заменить все возможные папки в %%%ANY_DIR%%%?
$multiple_folder_scan_structure =...