В последнее время я использую рестлет, чтобы публиковать некоторую информацию в качестве веб-сервиса.Тот же код хоста на сервере Jetty, но на другом сервере я получил результат 2 версии.
Я думаю, что когда я вызываю webservice «http: //.....api/currencies.json», он использует расширение Джексонапреобразовать результат в формат JSON, но я не знаю, почему получил другую версию.
Кто-нибудь может помочь мне разобраться в проблеме, спасибо!
Это код, и яиспользуйте расширение restlet: json, xml, jackson, xstream.
@Get("json|xml")
public List<CurrencyInfoDTO> represent() {
return ...;
}
@XStreamAlias("currency")
public class CurrencyInfoDTO {
protected String code;
protected String sign;
....
}
Выходная версия 1:
{
"list": [
{
"currency": [
{
"code": "CNY",
"sign": "¥",
"rate": 1
},
{
"code": "HKD",
"sign": "HK$",
"rate": 0.8145
},
]
}
]
}
Выходная версия 2:
[
{
"code": "CNY",
"sign": "¥",
"rate": 1
},
{
"code": "HKD",
"sign": "HK$",
"rate": 0.8145
}
]
Сервер дляверсия 1 является хостом в amazon aws, а сервер для версии 2 - мой локальный компьютер для разработки.
То, что я считаю, версия 1 выводится как объект, а версия 2 выводится как массив.
И я пытаюсь удалить расширение Джексона на моем локальном компьютере, оно будет выводиться как версия 1, так что я предполагаю, что версия 1 использует расширение xstream, а версия 2 использует расширение Джексона, но почему рестлет использует другое расширение для обработки вывода того же метода?
чемного anks!Rick