Spring MVC List Привязка: почему ARR [] = Hello & Arr [] = World требует @Setter, но arr = hello & arr = мир нет?JAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Spring MVC List Привязка: почему ARR [] = Hello & Arr [] = World требует @Setter, но arr = hello & arr = мир нет?

Сообщение Anonymous »

Переписка списка Spring MVC: Почему ARR [] = Hello & Arr [] = World требует @Setter, но arr = hello & arr = мир нет?
На нашем фронте мы используем axios , которые по умолчанию сериализуют параметры массива, такие как это:

arr[]=HELLO&arr[]=WORLD
< /code>
Тем не менее, это вызвало 400 ошибок плохого запроса в нашем бэкэнд с пружинной загрузкой (tomcat).
, чтобы исправить это, мы добавили следующую конфигурацию: < /p>

Код: Выделить всё

server:
tomcat:
relaxed-query-chars: ['[', ']', '{', '}']
< /code>
После применения этой настройки все, по-видимому, работает нормально-пока мы не столкнулись с странным случаем.@Getter
@AllArgsConstructor
@ToString
@ParameterObject
public class ExampleRequestDto {

@Parameter(description = "example")
private List arr;

}
< /code>
Наш фронт отправляет запрос, подобный: < /p>
GET /api/example?arr[]=HELLO&arr[]=WORLD
< /code>
 ✅ ожидаемый журнал: < /h2>
ExampleRequestDto(arr=[HELLO, WORLD])
< /code>
 ❌ Фактический журнал: < /h2>
ExampleRequestDto(arr=[HELLO])
< /code>
присутствует только первое значение; Остальные молча игнорируют.
не было исключено или предупреждения.GET /api/example?arr=HELLO&arr=WORLD
Это работает отлично даже без @setter на DTO.
Затем мы добавили @setter в DTO, и исходный arr [] = ... также работал правильно - все значения были связаны.

my aeption>

ol -ol. /> Почему arr [] = hello & arr [] = world требует @setter для правильного связывания, но arr = arr = arr = arr = world не так ли? Параметр Tomcat Parser? (Embedded) < /li>
Связывание с помощью @modelattribute < /li>
Журнальное ведение показывает только частичное связывание параметров с форматом [] < /li>
Механизм, но я не уверен.>

Подробнее здесь: https://stackoverflow.com/questions/796 ... ire-setter
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «JAVA»