Ответ веб-сервиса RESTful - PullRequest
       17

Ответ веб-сервиса RESTful

1 голос
/ 21 ноября 2011

Допустим, у меня есть следующая модель

Course
Student

URI:

/courses/1

должен возвращать следующую информацию о конкретном курсе:

Name
Number
Date
Instructor

и: / Курсы

должен вернуть список вышеупомянутой информации.

Я не уверен насчет возврата. Если бы это была служба JAX-WS, мы бы получили информацию о рассматриваемом курсе, создали бы XML, вставили этот XML в конверт SOAP и XML через HTTP клиенту.

Также в «обычном» веб-приложении, в ответ на:

/courses

A List<Course> будет request.addAttribute(-) для JSP для рендеринга таблицы HTML. Что должно произойти для веб-службы RESTful? Должно ли содержимое List быть напрямую записано в выходной поток?

1 Ответ

2 голосов
/ 21 ноября 2011

В RESTful Web Services вы определяете, что будет выводиться. Это может быть простой текст, JSON, HTML, XML или что угодно. Конечная точка RESTful может создавать то, что вам нравится (что вы определяете в аннотации @Produces).

По сути, вы получаете то, что обслуживаете, поэтому, если вы вызовете GET-запрос на своем ресурсе RESTful, который обслуживает HTML - вы получите отрендеренную страницу HTML. Если он обслуживает XML - вы получите XML, как в SOAP Web Services.

Вы можете использовать ту же семантику, что и для веб-служб SOAP. Поэтому, если кто-то нажмет на ссылку /courses, вы можете вернуть весь список курсов (т. Е. В формате JSON).

Это может быть полезно для будущих ссылок: Руководство пользователя Джерси

...