Как указать формат Restlet-ответа в браузере? - PullRequest
3 голосов
/ 27 апреля 2010

Я начал представляться в REST. Я использую в качестве REST-фреймворка Restlet. Я определил ресурс с методами для GET с несколькими форматами ответов, такими как

@Get("xml")
@Get("json")

Теперь я хочу протестировать свои определенные форматы ответов в своем браузере, но я не знаю, какой параметр мне нужно указать в своем URL, чтобы получить формат. Что-то вроде:

http://localhost:8182/members?type=xml

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

Я был бы рад, если кто-нибудь может мне помочь, Спасибо, Martin

Ответы [ 3 ]

5 голосов
/ 29 апреля 2010

Мартин использует Restlet API, который определяет свои собственные более простые аннотации (например, ash @Get). Restlet Framework поддерживает JAX-RS API и аннотации (такие как @GET, @Produces и т. Д.), Но как часть расширения.

Чтобы выбрать тип медиа в вашем браузере, вам нужно использовать параметр запроса «media = xml» вместо «type = xml», но это можно настроить в TunnelService вашего экземпляра приложения Restlet.

Надеюсь, это поможет. Для получения дополнительной помощи, пожалуйста, используйте список рассылки Restlet: http://www.restlet.org/community/lists

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

3 голосов
/ 28 апреля 2010

Попробуйте установить заголовок «Accept» в вашем запросе на «text / xml» или «text / json».

Я также подумал, что если вы хотите вернуть ресурс определенного типа MIME, вы использовали аннотацию @Produces("text"), а не @GET (если это не новый способ). Хмм .. Я вижу, в соответствии с API вы можете сделать это с помощью @ GET.

Я считаю, что параметр URI, который вы ищете, это? Media = json

0 голосов
/ 21 февраля 2012

Я на примере проекта org.restlet.example.serialization.gae.server и эта ветка помогла мне, поэтому я сделал небольшое изменение (просто добавил "json" в кавычках и скобках), чтобы получить ответ JSON:

@Get("json")
public Contact retrieve() {
    return contact;
}
...