Мы создаем сервис для конвертации из одного формата в другой. Примерами преобразований являются валюты, расстояния, время, языки и т. д. В нашем случае это географические точки (например, из десятичных градусов широты/долготы в градусы-минуты-секунды широты/долготы).
Обычно ресурс RESTful имеет аналогичную объектно-ориентированную концепцию, которая сохраняется на стороне сервера и может быть CRUD (я знаю, что это только часть того, что делает что-то RESTful), но в случае простого сервиса, который преобразует вещи, это не обязательно существуют. Как можно сделать это RESTful? На данный момент у нас есть такие:
Чтобы получить список поддерживаемых форматов, можно сделать это:
GET /coordinates/formats
Что вернет список форматов, включая, например, DD и DMS (десятичные градусы и градусы-минуты-секунды).
Затем можно развернуться и выполнить преобразование следующим образом:
POST /coordinates/DD/as/DMS
В этом примере можно было бы передать представление десятичных градусов (в виде JSON или другого формата) в теле запроса и получить представление градусов-минут-секунд в теле ответа.
Это, конечно, работает, но кажется неустойчивым, в частности потому, что один и тот же URI используется снова и снова для разных входных данных (разные десятичные степени). Хитрость, вероятно, заключается в том, чтобы действительно сосредоточиться на том, какой ресурс им манипулирует. Возможно, это «Конверсия»:
POST /coordinate/conversions
Тело может принимать значение a, его формат и желаемый результат. Однако URI по-прежнему одинаков для всех ресурсов...
Мысли?