Вложенный SpringDataWebSupport в объектах и ​​коллекциях JSON - PullRequest
0 голосов
/ 11 октября 2019

Я хотел бы использовать SpringDataWebSupport, вложенный в объекты и коллекции. В настоящее время у меня есть настройки, как это:

@Entity
public class MyDomainObject{
...
}

@RestController
public class MyDomainObjectController{
@DeleteMapping("/myDomainObject/delete")
    public void delete(@RequestParam("id") MyDomainObject object){
    ...
    }
}

Когда я отправляю DELETE http://myApplication/myDomainObject/delete?id=1 все работает как ожидалосьТеперь я хочу удалить несколько объектов одновременно. Конечно, я мог отправить несколько запросов, но это, казалось, вводило много сетевого трафика, поэтому я изменил свой метод удаления на

public void delete(@RequestParam("ids") List<MyDomainObject> objects){
...
}

и попытался отправить этот запрос: DELETE http://myApplication/myDomainObject/delete?ids=[1,2,3]

С этимзапросить, что Backend выдал исключение где-то в SpringConversionService

Caused by: java.lang.NumberFormatException: For input string: "[1,2,3]"

Я думаю, ConversionSerivce хочет преобразовать весь массив в одно число. Есть ли способ заставить мой подход работать или вы знаете более элегантный способ решения проблемы?

1 Ответ

0 голосов
/ 16 октября 2019

Решил это отладкой в ​​Spring. Решение простое. Просто используйте список через запятую вместо списка JSON.

DELETE http://myApplication/myDomainObject/delete?ids=1,2,3

работает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...