powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Управление версиями Web API
14 сообщений из 39, страница 2 из 2
Управление версиями Web API
    #39688118
Lessyp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAА дайте ссылку на рекомендацию, если не сложно. Для меня это звучит как бред какой-то.

Выпускается новая версия, ставится на отдельные сервера, старая крутится на старых.
Клиенты постепенно переползают на новую. В итоге старая гасится.

https://docs.microsoft.com/en-us/azure/architecture/best-practices/api-design URI versioning

This versioning mechanism is very simple but depends on the server routing the request to the appropriate endpoint. However, it can become unwieldy as the web API matures through several iterations and the server has to support a number of different versions. Also, from a purist’s point of view, in all cases the client applications are fetching the same data (customer 3), so the URI should not really be different depending on the version. This scheme also complicates implementation of HATEOAS as all links will need to include the version number in their URIs.
...
Media type versioning

This approach is arguably the purest of the versioning mechanisms and lends itself naturally to HATEOAS, which can include the MIME type of related data in resource links.
...
Рейтинг: 0 / 0
Управление версиями Web API
    #39688121
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LessypskyANAА дайте ссылку на рекомендацию, если не сложно. Для меня это звучит как бред какой-то.

Выпускается новая версия, ставится на отдельные сервера, старая крутится на старых.
Клиенты постепенно переползают на новую. В итоге старая гасится.

https://docs.microsoft.com/en-us/azure/architecture/best-practices/api-design URI versioning

This versioning mechanism is very simple but depends on the server routing the request to the appropriate endpoint. However, it can become unwieldy as the web API matures through several iterations and the server has to support a number of different versions. Also, from a purist’s point of view, in all cases the client applications are fetching the same data (customer 3), so the URI should not really be different depending on the version. This scheme also complicates implementation of HATEOAS as all links will need to include the version number in their URIs.
...
Media type versioning

This approach is arguably the purest of the versioning mechanisms and lends itself naturally to HATEOAS, which can include the MIME type of related data in resource links.

И где Вы тут увидели про множество версий контроллеров?

the server has to support a number of different versions - это что-ли?

Дак это про то, что на сервере должно быть развёрнуто несколько версий приложения, пока клиенты пользуются и старыми и новыми версиями.
...
Рейтинг: 0 / 0
Управление версиями Web API
    #39688128
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Походу топик родился из-за трудностей перевода
...
Рейтинг: 0 / 0
Управление версиями Web API
    #39688137
Lessyp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAИ где Вы тут увидели про множество версий контроллеров?

the server has to support a number of different versions - это что-ли?

Дак это про то, что на сервере должно быть развёрнуто несколько версий приложения, пока клиенты пользуются и старыми и новыми версиями.
там описание принципов, реализация тут:

https://github.com/Microsoft/aspnet-api-versioning/wiki/How-to-Version-Your-Service
...
Рейтинг: 0 / 0
Управление версиями Web API
    #39688151
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Lessypнарушение концепции HTTP как раз вложение версий в урлы.давайте от логики идти, а не от контроллеров.
Принцип http в том что один и тот же урл указывает на один и тот же ресурс.
Это программист выдумывает, что 5 методов API и 4 метода API это одно и тоже.
www.sql.ru/api/v2/add-member
Последнее слово это имя метода.
...
Рейтинг: 0 / 0
Управление версиями Web API
    #39688192
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LessypskyANAИ где Вы тут увидели про множество версий контроллеров?

the server has to support a number of different versions - это что-ли?

Дак это про то, что на сервере должно быть развёрнуто несколько версий приложения, пока клиенты пользуются и старыми и новыми версиями.
там описание принципов, реализация тут:

https://github.com/Microsoft/aspnet-api-versioning/wiki/How-to-Version-Your-Service
Принципов чего?

Там написано: "Unfortunately, this causes an issue for service API versioning if you want split the implementation across different types ."

Вы хотите разнести реализацию по разным типам? Зачем?
...
Рейтинг: 0 / 0
Управление версиями Web API
    #39688198
Lessyp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Потому-что так там написано. В общем как я понимаю опыта в реализации даного подхода у вас нет. Интересует мнение тех, у кого он есть
...
Рейтинг: 0 / 0
Управление версиями Web API
    #39688200
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LessypПотому-что так там написано. В общем как я понимаю опыта в реализации даного подхода у вас нет. Интересует мнение тех, у кого он есть
Данного нет. У нас иначе.
...
Рейтинг: 0 / 0
Управление версиями Web API
    #39688240
handmadeFromRu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAhandmadeFromRuпередача версии в урл самое имхо удобнее и очевидное
Это самое общепринятое Со своими минусами:
- технически это не RESTful
- от клиента требуются определённые усилия по поддержке актуальности линков

А ТС как раз таки хочет, чтобы клиент не заморачивался с последними.

1. почему технически эт не рест?
2. что значит не заморачивался если один фиг надо будет читать доку новой версии апи и также адаптировать код..имхо однохерственно для клиента


Lessypте методы что не изменились все равно оказываются с другим адресом в новой версии. Так наказывать своих клиентов не выглядит привлекательно
что значит наказывать если в любом случае надо адаптировать код клиента
...
Рейтинг: 0 / 0
Управление версиями Web API
    #39688305
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Lessypнарушение концепции HTTP как раз вложение версий в урлы.

Нет, не согласен.

/api/v1/users
/api/v2/users

Это разные ресурсы, так как принимают и отдают разные наборы данных. Я имею абсоютные гарантии, что любой клиент получит по ссылке /api/v1/users одно и то же.

Если в этом будет участвовать какая-то подкапотная магия, то таких гарантий нет.
Да и фиг его знает, не зарежет или не искорёжит ли заголовки какой-нибудь прокси.
Не достаточно знать, по какому URL обращается клиент, чтобы гарантировано знать, что он должен получит, нужна ещё какая-то подкапотная шелупонь.


LessypХотя это самый простой для разработки метод, но и самый неудобный для клиентов так как им придется переписывать конфиги с выпуском каждой новой версии

Я не понимаю, почему это клиенты должны броситься переписывать свои конфиги. Смена версии означает смену контрактов. Им всё придётся переписывать, а не конфиги. Или вы не правильно понимаете концепцию версии АПИ.


LessypЕще вопрос, у кого-нибудь есть практический опыт реализации версионности "стандартным" методом, когда в одном проекте сосуществуют множество версий контроллеров?

При чём тут версии контроллеров?... Хотя должно быть, нет пока понимания, что вообще такое "версия АПИ".
...
Рейтинг: 0 / 0
Управление версиями Web API
    #39688307
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну и кеширование конечно...
...
Рейтинг: 0 / 0
Управление версиями Web API
    #39688496
Lessyp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
handmadeFromRuчто значит наказывать если в любом случае надо адаптировать код клиента
ну не в любом случае, плюс конфиги обычно не меняются, клиентам надо не забыть их обновить, да еще с правильной версией
...
Рейтинг: 0 / 0
Управление версиями Web API
    #39688499
Lessyp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttНет, не согласен.

ну а вот теоретики API зато согласны. Но меня больше интересует не идеологическая выдержанность, а практическая сторона вопроса
...
Рейтинг: 0 / 0
Управление версиями Web API
    #39688572
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LessyphVosttНет, не согласен.

ну а вот теоретики API зато согласны. Но меня больше интересует не идеологическая выдержанность, а практическая сторона вопроса

Ну и к чему тогда спорить? Мнения высказаны, выбирайте.
...
Рейтинг: 0 / 0
14 сообщений из 39, страница 2 из 2
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Управление версиями Web API
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]