Я пытаюсь вернуть список опросов в форме XML-ответа. Я могу получить ответ ниже:
<List>
<item>
<title>My Favorite Survey</title>
<description>Description of the Survey</description>
<surveyId>Survey1</surveyId>
<questions>
<question>...</question>
<question>...</question>
</questions>
</item>
</List>
Однако я хотел показать ответ, как показано ниже:
<surveys>
<survey>
<title>My Favorite Survey</title>
<description>Description of the Survey</description>
<surveyId>Survey1</surveyId>
<questions>
<question>...</question>
<question>...</question>
</questions>
</survey>
</surveys>
Вот мой класс POJO:
@JacksonXmlRootElement(localName="survey")
public class Survey {
@JacksonXmlProperty(localName = "surveyId")
private String id;
private String title;
private String description;
@JacksonXmlElementWrapper(localName = "questions")
@JacksonXmlProperty(localName = "question")
private List<Question> questions;
// getters and setters
}
Класс контроллера:
@RestController
class SurveyController {
@Autowired
private SurveyService surveyService;
@GetMapping(path = "/surveys")
public List<Survey> retrieveQuestions() {
return surveyService.retrieveAllSurveys();
}
}
Похоже, @JacksonXmlRootElement(localName="survey")
не работает в моем случае, и что я могу сделать, чтобы список отображался как Surveys. Пожалуйста, объясните мне, как я могу использовать свое собственное имя тега вместо списка и элемента.