2013-04-11 3 views
3

Я создаю RESTful api для библиотеки, использующей флягу. В этой библиотеке есть множество функций, которые принимают входные данные в строках unicode и выполняют проверку орфографии/перевода/транслитерации и т. Д.RESTful api design для функции преобразования

Как я вижу, функции являются ресурсами, и я создаю преобразование, когда я делаю запрос, и кажется, что я должен сделать POST только api.

Также, поскольку я не хранил ничего, я должен использовать GET?

Есть ли какие-либо другие подходы для не CRUD Rest Api?

ответ

0

Я не думаю, что у вас есть много выбора:

  • ваш ресурс ожидает текст для обработки
  • RESTful способ представления текста осуществляется через тело объекта
  • GET запросы не поддерживают объектные органы

Это действительно выбор между POST и PUT, и что один является ясна: вы не создаете РЕСУРСЫ e, поэтому он не может быть PUT.

1

Функция/метод не может быть ресурсом, потому что это означает, что вы делаете RPC (удаленный вызов процедуры). Ресурс - это всего лишь источник информации (существительное, например, пользователь, предмет и т. Д.). С другой стороны, RPC - это вызов методов/функций (глагол, например createUser(), doSomething()).

Ресурс в REST - это всего лишь источник информации, которая также обеспечивает единообразный интерфейс (однородный по всем ресурсам, которые вы предоставляете, в основном просто CRUD-операции).

Так у вас есть два варианта:

  • переосмысления библиотеки вы используете, найти существительные и публиковать их в качестве ресурсов, доступных через единый интерфейс
  • требование падение RESTful API и легко реализовать шлюз RPC в библиотеку