Я разрабатываю API REST для веб-приложения. Я хочу, ясно присваивают версию API, так, чтобы интерфейс мог быть изменен в будущем, не повреждая существующие сервисы. Таким образом в моем v1.0 API, я хочу ясно идентифицировать его как v1.0 API, оставляя меня свободой выпустить будущее v1.1 версия с повреждением изменений.
Мой вопрос, был бы период в компоненте контура URI быть плохой практикой?
например, Есть ли какое-либо серьезное основание не использовать http://example.com/myapi/v1.0/services в качестве URI к моему сервису?
Идеально поставить точку в URI. Ввод номера версии в URI определенно не лучшая практика.
Вот мои причины, и здесь - хорошая статья на эту тему, написанная кем-то намного умнее меня.
Думаю, это хорошая идея. Я видел несколько сервисов отдыха, которые так делают.
это совершенно допустимый символ пути, см. Стр. 27 спецификации http://www.ietf.org/rfc/rfc2396.txt
Нет причин не использовать его
{{1} }Я по-другому думаю о других ... Я не думаю, что использовать его в URL - это хорошая практика.
ИМХО, лучше использовать версию в заголовке Content-Type.
Например, если вы используете application / xml:
Content-Type: application / v1.0 + xml.
Использование Content-Type также указывает на то, что у самого ресурса есть версии. Хотя, если вы используете его в URL-адресе, кажется, что вы управляете версией службы (что, похоже, не так), и если вы меняете саму службу, вы, вероятно, измените URL-адрес, поэтому вам не нужна версия количество.
РЕДАКТИРОВАТЬ: вы также должны использовать его в заголовке принятия, а не только в типе содержимого.
Вполне допустимо использовать точку в пути URI. Он также действителен согласно RFC 3986 раздел 2.3 .