Я ищу лучшие практики в дизайне API RESTful для следующего использования:
Объект объекта домена:
class Vehicle {
private String vehicleType;
private String colour;
private String transmission;
private String yearOfIssue;
}
Пример объекта:
Vehicle = {vehicleType : 'Car', colour : 'Red', transmission : 'Automatic', yearOfIssue : '2008'};
В этой модели домена нет единого уникального идентификатора поля (например, vehicleId), но все поля объекта вместе образуют первичный ключ (это ограничение присутствует в слое базы данных).
У нас нет гибкости для изменения этой модели домена, чтобы добавить уникальный уникальный идентификатор поля.
Итак, мой вопрос следующий: если я хочу добавить простой REST API поверх этого объекта домена, который обеспечивает простую функциональность для CREATE, UPDATE, DELETE и GET Vehicles, то что лучше всего подходит для конечных точек PATH для этих методы?
Следуя приведенному выше примеру, если модель домена должна иметь уникальный идентификатор транспортного средства с идентификатором поля, тогда я могу представить следующие конечные точки:
GET /vehicles/:vehicleId
PUT /vehicles/:vehicleId
DELETE /vehicles/:vehicleId
Мне не известно о шаблоне, который аналогичен этому для составных клавиш:
GET /vehicles/:vehicleTypecolourtransmissionyearOfIssue
GET /vehicles/CarRedAutomatic2008
кажется неправильным.
Приветствуются любые советы по хорошему шаблону для этого случая использования.
Спасибо