Как представить преобразование в REST? - PullRequest
0 голосов
/ 16 марта 2011

Я хочу написать сервис, который принимает XML-файл (любой XML-файл) и пару параметров в качестве входных данных и создает преобразованный XML-файл в качестве выходных данных.Так, например, если мне нужен сервис, который удаляет ненормативную лексику, параметры будут иметь порог серьезности (по шкале от darn до f***) и режим преобразования (f***ing, f@%%ing или * 1005).*) Фактический формат xml не имеет значения, вывод всегда будет таким же, как и ввод.(Прежде чем вы заметите, что это бесполезное занятие: это не тот сервис, который я на самом деле хочу создать.)

Хотя я использовал сервисы на основе REST, я немного новичок в разработкеони и я не знаю, как вписать это в идиому ресурсов / коллекций и, что более важно, как сделать их действительно REST-подобными, избегая WADL и делая интерфейс с самоописанием вместо этого.Или REST просто не подходит для этого?

Ответы [ 2 ]

1 голос
/ 16 марта 2011

На этот вопрос сложно ответить с точки зрения REST, поскольку описываемая вами служба не имеет серверных ресурсов - нет состояния сервера для передачи в запросах и ответах.Все состояние на стороне клиента.Традиционно это будет обрабатываться GET, но вы, вероятно, не хотите записывать XML-документ в строку запроса.

Возможно, вам лучше всего использовать метод, предложенный Даррелом Миллером.POST к желаемой конечной точке с документом в качестве тела, и тело ответа должно быть обновленным документом.

1 голос
/ 16 марта 2011

С Httpbis :

POST предназначен для того, чтобы единообразный метод охватывал следующие функции: ... Предоставление блока данных, например результата отправкиформа для обработки данных;

Например:

POST /ProfanityRemover?level=3
ContentType: application/xml

<Foo>
  <Blah>Damn</Blah>
</Foo>

=>
200 OK
ContentType: application/xml

<Foo>
  <Blah>Poop</Blah>
</Foo>
...