Как описать входной параметр в веб-службе RESTful - PullRequest
1 голос
/ 06 августа 2010

Я занимаюсь разработкой службы RESTful, в которой можно выполнять процессы, и предоставлять результаты вычислений. Для этого я смоделировал сам процесс как ресурс (пример: / процессов / перевод). Я хочу выполнить процесс, отправив запрос GET с добавленным входным параметром в качестве параметра запроса (пример: /processes/translate?input1=xxxx&input2=xxxxx).

Каждый процесс имеет разные входные параметры, которые определяются при создании процесса в бэкэнде. Мой вопрос заключается в том, как я должен документировать или описывать, какие входные данные необходимы для выполнения процесса в машиночитаемой форме. Например, в XML.

До сих пор я интегрировал атом: связываю элементы в Представлении. я думал, что, возможно, включение XFORM может быть решением?

С наилучшими пожеланиями Andre

Ответы [ 2 ]

2 голосов
/ 06 августа 2010

Я бы не стал моделировать это с помощью GET. Хотя это более простое решение, оно также (IMO) наименее RESTful. Я хотел бы, чтобы клиенты отправили POST документ с описанием того, что они хотят, чтобы вы перевели, и ваша служба отправит им обратно URI, где их ответ может быть найден (некоторые переводы могут занять некоторое время).

Пример (без большого количества HTTP-заголовков / контекста)

POST /processes/translate
Content-Type: application/xml
...

<translation-request>
   <input1 type="type1">....</input1>
   <input2 type="type5">....</input2>
</translation-request>

Ответ:

200 OK
Content-Location: /processes/translate/jobs/1234
.... 
0 голосов
/ 06 августа 2010

Это всегда интересный вопрос. У нас есть проект под названием RESTx (http://restx.org),, с помощью которого вы очень легко можете создать веб-службы RESTful . Вы можете написать собственный код компонента на Java или Python, а затем создать ресурсы RESTful путем отправки наборов параметров на сервер, которые затем сохраняются. Однако каждый набор параметров получает свой собственный URI, поэтому вы всегда можете просто запустить код с этими параметрами, открыв URI нового набора параметров.

Важно, что весь RESTful API создается автоматически. RESTx проверяет код компонента и затем собирает описание API. Мы решили описать параметры так, чтобы они были удобны для восприятия человеком. Вы можете увидеть примеры того, как это выглядит в браузере или в простом формате JSON .

Я ведущий разработчик, поэтому, пожалуйста, не стесняйтесь обращаться ко мне по любым вопросам, которые у вас могут возникнуть.

...