У нас есть конечная точка для обновления открытой «проблемы» путем ее «решения».
Для ее устранения необходимо обновить способ решения проблемы (resolutionId) и установить для resolvedDate дату в формате UTC.
Мы решили НЕ использовать глагол в имени конечной точки, например, /issue/1/resolve
. (но если вы думаете, что это хорошая идея, не стесняйтесь говорить почему)
Мы решили использовать PUT (или PATCH) для /issue/1
, что будет общим обновлением, которое должно быть способно обрабатывать различные типы обновлений проблем, которые могут не иметь отношения к его решению.
Как клиент указывает моему API, что для resolvedDate должно быть указано время в формате UTC?
Вот варианты, которые я придумала, но я буду рад любым предложениям.
- В API предположим, что при отправке resolutionId это означает, что проблема была решена, и она должна автоматически обновить resolvedDate. ResolutionId - это не то, что можно редактировать после закрытия.
- Пусть интерфейс отправит дату в теле запроса. (Эххх ...)
- В параметрах запроса укажите, что происходит действие «разрешить». например
/issue/1?resolve=1
- В requestBody установите для resovledDate константу, которую может интерпретировать серверная часть. например resolvedDate: "сейчас".
Какие из них или новый вариант лучше всего подходят для дизайна Restful API?