Дизайн RESTful URI - PullRequest
       8

Дизайн RESTful URI

6 голосов
/ 13 марта 2011

Я нахожусь в процессе создания RESTful API.Я читаю

http://microformats.org/wiki/rest/urls

, но этот сайт не дает мне достаточно «хорошей» практики по разработке моего API.В частности, я напишу API (только для методов GET), который будет предоставлять функции для преобразования гео-координат.

Пример: геохэш - это представление координаты с одним значением, таким образом / convert / geohash / u09tvkx0.json? outputformat = latlong

имеет смысл.С другой стороны, /convert/latlong.xml?lat=65&long=13&outputformat=UTC требуется два входных значения.

См. Мой "вопрос"?Что делает хороший API, который требует более одного входного параметра?

(Пытался «определить» хорошую практику, «анализируя» твиттер и FF, но не смог)

Ответы [ 2 ]

4 голосов
/ 13 марта 2011

С точки зрения того, что REST URI считается «технически правильным», нет разницы между использованием параметров строки запроса или нет.В RFC 3986 говорится:

Компонент запроса содержит неиерархические данные, которые наряду с данными в компоненте пути (раздел 3.3) служат для идентификации ресурса

Вот почему вам трудно найти определенную «лучшую практику».Сказав это, многие API-интерфейсы REST встраивают несколько параметров в URI без использования строк запроса.Например, чтобы определить модель автомобиля марки и , вы увидите веб-сайты с такими URI: cars.com/honda/civic.В этом случае очень очевидно, что связь между двумя и тем, что все в URI "взломана".Также гораздо проще придерживаться подхода без запроса строки, когда у вас есть только один параметр, который уникально идентифицирует ресурс;но если это что-то вроде поискового запроса, то я, вероятно, сохранил бы его в строке запроса.Этот SO вопрос также содержит интересную дискуссию о различных подходах.

В вашем примере выше я бы придерживался параметров строки запроса.Хотя REST обычно имеет более интуитивно понятные URL-адреса, на самом деле это не то, чем занимается REST.REST - это больше о гипермедиа и HATEOAS .

0 голосов
/ 18 ноября 2015

При разработке API REST следует придерживаться нескольких рекомендаций REST

  1. Аннотация против бетона
  2. Операции CRUD
  3. Обработка ошибок
  4. Управление версиями API
  5. Фильтрация
  6. Безопасность
  7. Аналитика
  8. Документация
  9. Стабильность и согласованность
  10. Структура URL

Подробнее

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...