У меня есть служба REST Webservice, возвращающая int через @responseBody, и я хочу, чтобы этот ответ был в XML, и я не знаю, как этого добиться, несмотря на многие попытки.@ResponseBody не может вернуть XML
Мой контроллер выглядит следующим образом:
@RequestMapping(value = "/UserByAppli", method = RequestMethod.GET)
@ResponseBody
public List<Application> getNbUserByAppli()
{
return this.DAO.getNbUserByAppli();
}
И мое приложение Объект:
@Component
@XmlRootElement(name="Application")
@XmlAccessorType(XmlAccessType.FIELD)
public class Application
{
@XmlElement(name="Nom")
private String name;
@XmlElement(name="NbUtilisateurs")
private int nbUsers;
public Application()
{
}
...
}
Он всегда возвращает применение/JSON, и когда я указать заголовок "Accept = приложения/XML" I получить код ответа 406 с org.springframework.web.HttpMediaTypeNotAcceptableException: не удалось найти приемлемое представление в журналах Spring.
Объяснение или направление поиска было бы оценено ...
Вы ничего не возвращаете, что можно объединить в XML. Объекты списка могут быть сопоставлены с XML, но не самим списком объектов. Для этого нужен отдельный объект. Я думаю, что одно «приложение», но не список ваших приложений. –
@ M.Deinum Это та же проблема, если я возвращаю простой int – thibon
«int» не является объектом xml. Чтобы вернуть XML, вы должны вернуть объект, который может быть привязан к XML (т. Е. Ваш объект «Приложение», о котором я также упомянул в предыдущем комментарии). –