Я пытаюсь установить List<Long>
для объекта Java.
Функция установки:
ResponseEntity<String> response = bcInsertService.addNewClip(new PrmBcClipInsert()
.setTags(Arrays.asList(new Long[]{5L, 3L}))
);
И объект
public class PrmBcClipInsert implements Serializable {
@ApiModelProperty(required = true)
private List<Long> tags;
public List<Long> getTags() {
return tags;
}
public PrmBcClipInsert setTags(List<Long> tags) {
this.tags = tags;
return this;
}
}
Это BcInsertService:
public class BcInsertService extends RestTemplate {
private static final Logger log = LoggerFactory.getLogger(BcInsertService.class);
public ResponseEntity<String> addNewClip(PrmBcClipInsert prmBcClipInsert) {
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.MULTIPART_FORM_DATA);
MultiValueMap<String, Object> map= new LinkedMultiValueMap<String, Object>();
HttpEntity<MultiValueMap<String, Object>> request = new HttpEntity<MultiValueMap<String, Object>>(prmBcClipInsert.getParameters(), headers);
ParameterizedTypeReference<StandardResponse> typeRef = new ParameterizedTypeReference<StandardResponse>() {};
ResponseEntity<String> response = this.postForEntity( "http://localhost:8080/bc/add-clip", request , String.class );
log.info(response.toString());
return response;
}
}
И он возвращает ошибку:
Ошибка поля в объекте 'prmBcClipInsert' в поле 'теги': отклонено
значение [[5,3]]; коды
[TypeMismatch.prmBcClipInsert.tags, typeMismatch.tags, typeMismatch.java.util.List, typeMismatch];
аргументы
[Org.springframework.context.support.DefaultMessageSourceResolvable:
коды [prmBcClipInsert.tags, теги]; аргументы []; сообщение по умолчанию
[Теги]]; сообщение по умолчанию [Не удалось преобразовать значение свойства типа
'java.lang.String' для требуемого типа 'java.util.List' для свойства
«метки»; Вложенным исключением является java.lang.NumberFormatException: для ввода
строка: "[5,3]"]
Почему метод не принимает список, даже если он говорит, что он принимает список?