Я предлагаю применить шаблон MVVC, чтобы отделить ваш бизнес-объект от вашего объекта просмотра.
Вы ожидаете получить только строки из представления в объекте атрибута модели.
Ваш объект сущности содержит список тегов и список ответов => они смоделированы по-разному, и использование одного и того же класса является сложным, со многими потенциальными ошибками.
В вашем случае этоЛучше создать отдельный класс представления только со строками и преобразовать их в объект сущности.
Пример:
public class QuestionModelAttribute {
private String tags;
private String answers;
.....
}
, и ваш метод получит:
@PostMapping("/questions/new")
public String processQuestion(@Valid @ModelAttribute("question") QuestionModelAttribute questionModelAttribute, BindingResult result) {
Questions question = questionsService.convertQuestion(questionModelAttribute);
questionService.save(question);
..
}
Ваше представление получит в модели атрибут QuestionModelAttribute
<form:form action="/questions/new" method="post" modelAttribute="questionModelAttribute">
. Этот шаблон обеспечивает здоровую связь между представлением и моделью.