В моем HTTP API одна из конечных точек должна возвращать случайно сгенерированное значение, и это значение будет связано с аутентифицированным вызывающим абонентом конечной точки. В настоящее время у меня есть следующая структура:
GET http://example.com/random-ticket HTTP/1.1
Authorization: Basic base64-encoded-basic-auth-value
Accept: application/json
Host: example.com
HTTP/1.1 200 OK
Cache-Control: no-cache
Content-Type: application/json; charset=utf-8
Date: Thu, 03 Oct 2013 07:25:56 GMT
Content-Length: 59
{"user-ticket":"Pfa42634e-1a2e-4a7d-84b9-2d5c46a8dd81"}
Выдается запрос GET для извлечения случайного значения. Тем не менее, HTTP GET вызовы должны быть идемпотентными, и моя реализация выше не подчиняется этому правилу. С другой стороны, Я не уверен, правильно ли выдавать HTTP POST-запросы с пустым телом сообщения.
Каков правильный способ выполнения этого типа операций с помощью HTTP-книги?