RESTful веб-сервисы возвращают типы - PullRequest
0 голосов
/ 10 мая 2018

Я новичок в веб-сервисах на Java. и я пишу веб-сервисы, используя JAX-RS реализация Джерси .

Я хотел бы знать:

  • Какие типы возврата возможны для методов веб-службы?

  • Насколько я знаю, вы не можете использовать примитивные типы в качестве возвращаемого типа для метода веб-службы .. почему так?

1 Ответ

0 голосов
/ 11 мая 2018

Чтение Глава 8: JAX-RS Entity Provider в документации Джерси. Это объясняет, как (де) сериализация осуществляется в Джерси. Это объясняет использование MessageBodyReader s и MessageBodyWriter s для преобразования данных в объект Java и обратно в сериализованные потоки.

В конце главы вы увидите провайдеров по умолчанию, с которыми поставляется Джерси из коробки

byte[] (*/*)
String (*/*)
InputStream (*/*)
Reader (*/*)
File (*/*)
DataSource (*/*)
Source (text/xml, application/xml and media types of the form application/*+xml)
JAXBElement (text/xml, application/xml and media types of the form application/*+xml)
MultivaluedMap<K,V> (application/x-www-form-urlencoded)
Form (application/x-www-form-urlencoded)
StreamingOutput ((*/*)) - this class can be used as an lightweight MessageBodyWriter<T> that can be returned from a resource method
Boolean, Character and Number (text/plain) - corresponding primitive types supported via boxing/unboxing conversion

Помимо основных провайдеров, в Джерси также есть провайдеры не по умолчанию для обработки таких вещей, как преобразование JSON в POJO (и наоборот) и обработка Multipart. Вы можете прочитать больше об этом в Глава 9 . Если не существует провайдера для удовлетворения наших потребностей в конверсии, то мы также можем просто написать нашего собственного читателя или писателя, чтобы справиться с этим.

...