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