|
Управление версиями Web API
|
|||
---|---|---|---|
#18+
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. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.08.2018, 14:12 |
|
Управление версиями Web API
|
|||
---|---|---|---|
#18+
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 - это что-ли? Дак это про то, что на сервере должно быть развёрнуто несколько версий приложения, пока клиенты пользуются и старыми и новыми версиями. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.08.2018, 14:17 |
|
Управление версиями Web API
|
|||
---|---|---|---|
#18+
Походу топик родился из-за трудностей перевода ... |
|||
:
Нравится:
Не нравится:
|
|||
15.08.2018, 14:20 |
|
Управление версиями Web API
|
|||
---|---|---|---|
#18+
skyANAИ где Вы тут увидели про множество версий контроллеров? the server has to support a number of different versions - это что-ли? Дак это про то, что на сервере должно быть развёрнуто несколько версий приложения, пока клиенты пользуются и старыми и новыми версиями. там описание принципов, реализация тут: https://github.com/Microsoft/aspnet-api-versioning/wiki/How-to-Version-Your-Service ... |
|||
:
Нравится:
Не нравится:
|
|||
15.08.2018, 14:27 |
|
Управление версиями Web API
|
|||
---|---|---|---|
#18+
Lessypнарушение концепции HTTP как раз вложение версий в урлы.давайте от логики идти, а не от контроллеров. Принцип http в том что один и тот же урл указывает на один и тот же ресурс. Это программист выдумывает, что 5 методов API и 4 метода API это одно и тоже. www.sql.ru/api/v2/add-member Последнее слово это имя метода. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.08.2018, 14:41 |
|
Управление версиями Web API
|
|||
---|---|---|---|
#18+
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 ." Вы хотите разнести реализацию по разным типам? Зачем? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.08.2018, 15:07 |
|
Управление версиями Web API
|
|||
---|---|---|---|
#18+
Потому-что так там написано. В общем как я понимаю опыта в реализации даного подхода у вас нет. Интересует мнение тех, у кого он есть ... |
|||
:
Нравится:
Не нравится:
|
|||
15.08.2018, 15:11 |
|
Управление версиями Web API
|
|||
---|---|---|---|
#18+
LessypПотому-что так там написано. В общем как я понимаю опыта в реализации даного подхода у вас нет. Интересует мнение тех, у кого он есть Данного нет. У нас иначе. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.08.2018, 15:12 |
|
Управление версиями Web API
|
|||
---|---|---|---|
#18+
skyANAhandmadeFromRuпередача версии в урл самое имхо удобнее и очевидное Это самое общепринятое Со своими минусами: - технически это не RESTful - от клиента требуются определённые усилия по поддержке актуальности линков А ТС как раз таки хочет, чтобы клиент не заморачивался с последними. 1. почему технически эт не рест? 2. что значит не заморачивался если один фиг надо будет читать доку новой версии апи и также адаптировать код..имхо однохерственно для клиента Lessypте методы что не изменились все равно оказываются с другим адресом в новой версии. Так наказывать своих клиентов не выглядит привлекательно что значит наказывать если в любом случае надо адаптировать код клиента ... |
|||
:
Нравится:
Не нравится:
|
|||
15.08.2018, 15:59 |
|
Управление версиями Web API
|
|||
---|---|---|---|
#18+
Lessypнарушение концепции HTTP как раз вложение версий в урлы. Нет, не согласен. /api/v1/users /api/v2/users Это разные ресурсы, так как принимают и отдают разные наборы данных. Я имею абсоютные гарантии, что любой клиент получит по ссылке /api/v1/users одно и то же. Если в этом будет участвовать какая-то подкапотная магия, то таких гарантий нет. Да и фиг его знает, не зарежет или не искорёжит ли заголовки какой-нибудь прокси. Не достаточно знать, по какому URL обращается клиент, чтобы гарантировано знать, что он должен получит, нужна ещё какая-то подкапотная шелупонь. LessypХотя это самый простой для разработки метод, но и самый неудобный для клиентов так как им придется переписывать конфиги с выпуском каждой новой версии Я не понимаю, почему это клиенты должны броситься переписывать свои конфиги. Смена версии означает смену контрактов. Им всё придётся переписывать, а не конфиги. Или вы не правильно понимаете концепцию версии АПИ. LessypЕще вопрос, у кого-нибудь есть практический опыт реализации версионности "стандартным" методом, когда в одном проекте сосуществуют множество версий контроллеров? При чём тут версии контроллеров?... Хотя должно быть, нет пока понимания, что вообще такое "версия АПИ". ... |
|||
:
Нравится:
Не нравится:
|
|||
15.08.2018, 17:31 |
|
Управление версиями Web API
|
|||
---|---|---|---|
#18+
Ну и кеширование конечно... ... |
|||
:
Нравится:
Не нравится:
|
|||
15.08.2018, 17:34 |
|
Управление версиями Web API
|
|||
---|---|---|---|
#18+
handmadeFromRuчто значит наказывать если в любом случае надо адаптировать код клиента ну не в любом случае, плюс конфиги обычно не меняются, клиентам надо не забыть их обновить, да еще с правильной версией ... |
|||
:
Нравится:
Не нравится:
|
|||
16.08.2018, 08:27 |
|
Управление версиями Web API
|
|||
---|---|---|---|
#18+
hVosttНет, не согласен. ну а вот теоретики API зато согласны. Но меня больше интересует не идеологическая выдержанность, а практическая сторона вопроса ... |
|||
:
Нравится:
Не нравится:
|
|||
16.08.2018, 08:30 |
|
Управление версиями Web API
|
|||
---|---|---|---|
#18+
LessyphVosttНет, не согласен. ну а вот теоретики API зато согласны. Но меня больше интересует не идеологическая выдержанность, а практическая сторона вопроса Ну и к чему тогда спорить? Мнения высказаны, выбирайте. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.08.2018, 10:11 |
|
|
start [/forum/topic.php?fid=18&gotonew=1&tid=1355158]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
51ms |
get topic data: |
10ms |
get first new msg: |
7ms |
get forum data: |
2ms |
get page messages: |
49ms |
get tp. blocked users: |
1ms |
others: | 13ms |
total: | 164ms |
0 / 0 |