今天上班摸鱼摸得正起劲,前端同事发来一条消息说调我接口时报错:
接口:
@GetMapping(value = "/getList")
public ResponseMessage getList(IpcDeviceQuery query);
参数:
/getList?groupIdList[]=2&groupIdList[]=3
报错:
Invalid character found in the request target. The valid characters are defined in RFC 7230 and RFC 3986
粗略看了一下,是 GET 请求中数组格式的问题,前端同事使用的格式并不能被 Springboot 的后端接收到。
网上查了查资料,发现 GET 请求传输数组参数的方式百花齐放,各种格式都有,归纳了一下,大概以下三种格式:
哪一种格式是真正符合规范的? Spring 需要定制什么才能解析格式 2 和格式 3 的参数呢?
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.