Версии сущности REST - PullRequest
       46

Версии сущности REST

0 голосов
/ 30 января 2020

Хорошо известно, что у нас есть коллекции и сущности.

GET /things   -> List<Thing>
GET /things/1 -> Thing

Но что, если thing 1 может существовать в разных версиях. Это нарушает принцип, согласно которому один идентификатор выделяет один ресурс.

GET /things/1     -> List<Thing>
GET /things/1/v1  -> Thing

Некоторые свойства thing 1, конечно, не одинаковы в разных версиях.

/things/1/v1/subthings != /things/1/v2/subthings

Но некоторые всегда

/things/1/v1/id == /things/1/v2/id
/things/1/v1/name == /things/1/v2/name

Кроме того, thing 1 может иметь другие версии, отличные от thing 2.

Допустим, я делаю /things/1 недопустимым идентификатором ресурса. Тогда можно ли получить все subthings в разных версиях?

GET /things/1/subthings

Любой «стандарт» или идеи о том, как go иметь несколько версий сущности?

...