gpt4 book ai didi

java - 如何在 Spring REST 的一个参数中传递键值

转载 作者:行者123 更新时间:2023-11-30 10:02:47 25 4
gpt4 key购买 nike

我想使用此命令在 Spring REST 参数中传递键值对:

curl http://localhost:11004/room/page?pageNum=1\&pageSize=1\&params={"key":"value"} -H "token:1"|jq '.'

但是服务器端接收到的params参数是这样的字符串:

params="key:value"

如何让服务端获取键值对?这是服务端模型代码:

public class PageQuery<T> {
private Integer pageNum;
private Integer pageSize;

private T params;
}

这是服务器端函数:

public Response<PageBean<Room>> queryRoomByPage(PageQuery<Map<String,String>> request);

我应该如何调整我的请求或服务器端代码以使其成为可能?

最佳答案

在这里pageNum=1\&pageSize=1\&params={"key":"value"}每个部分被 & 分割然后它会导致你的 params="key:value"因为在这里 Map<String,String>你对 Spring 说 key 和 value 应该有字符串

更改方法输入的示例:

@RequestParam("pageNum") Integer pageNum, @RequestParam("pageSize") Integer pageSize, @RequestParam("params") Map<String, String>

不要使用像 json 这样复杂的 HTTP 查询参数,请为此使用 http body 并等待特定的输入 JSON,您有 java 类表示的特定描述

更好:不要使用 String ,如果您的输入可以表示为特定的业务对象,尤其是在 Map 中。 HTTP客户端和其他工程师都不会看不懂,至少他们“就是知道”

关于java - 如何在 Spring REST 的一个参数中传递键值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56633349/

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