gpt4 book ai didi

java - Spring REST - 将 GET 参数绑定(bind)到嵌套对象列表

转载 作者:行者123 更新时间:2023-12-02 05:17:22 25 4
gpt4 key购买 nike

我的问题几乎是 1:1 为 this one 。我唯一的区别(和困难)是我的“数据容器”有一个对象集合。它看起来像这样:

public class A {
int plainFieldA;
B fieldB;
List<B> collectionB = new ArrayList<>();
}

public class B {
int plainFieldB;
}

@Transactional(readOnly = true)
@GetMapping("")
public Entity getAll(A reqParam) {
return getAll(reqParam);
}

是否可以在 url http://localhost/api/test?plainFieldA=1 的参数中定义 collectionB 而不创建转换器? @GameSalutes 正确地指出,从 spring 4 开始,我们可以执行 fieldB.plainFieldB=2 所以 url 将是: http://localhost/api/test? plainFieldA=1&fieldB.plainFieldB=2 但问题是我们可以在不创建转换器的情况下对 collectionB 做类似的事情吗?

最佳答案

是的,您可以这样提出请求:

http://localhost/api/test?plainFieldA=1&fieldB.plainFieldB=2&collectionB[0].plainFieldB=9

或者对 postman 的请求进行编码:

http://localhost/api/test?plainFieldA=1&fieldB.plainFieldB=2&collectionB%5B0%5D.plainFieldB=9

请求中有两个对象:

http://localhost/api/test?plainFieldA=1&fieldB.plainFieldB=2&collectionB%5B0%5D.plainFieldB=9&collectionB%5B1%5D.plainFieldB=11

IDE中断点的结果:

enter image description here

关于java - Spring REST - 将 GET 参数绑定(bind)到嵌套对象列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59256378/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com