我正在编写一个Spring Boot应用程序,该应用程序通过REST端点接收参数并将其转发到另一个系统。收到的参数包含一些已知字段,但也可能包含多个变量字段,这些字段以开头,后跟未定义的名称:filter
example.com?id=1&name=foo&filter1=2&filterA=B&[...]&filterWhatever=something
如您所见,有参数 和 ,以及以 开头的多个参数。调用目标系统时,我需要从参数中删除键,并将之后的所有内容用作键:id
name
filter
filter
targetsystem.com?id=1&name=foo&1=2&A=B&[...]&whatever=something
(键中不再有过滤器)
这本身不是问题,我可以只是,流式传输/循环参数并根据需要进行修改。但是使用 Swagger 作为 API 文档工具,我想列出所有已知的参数,以便客户端可以看到实际支持的内容。@RequestParam Map<String, String> params
我尝试混合命名参数和捕获所有参数,但它无法识别处理程序:
myEndpoint(final @RequestParam String id, final @RequestParam String name, final @RequestParam Map<String, String> remainingParams)
是否可以映射特定的参数并捕获其他所有内容?或者还有其他可能性,比如从使用正则表达式模式开始映射所有参数?Map<String,String>
filter
很抱歉,我无法更改源系统和目标系统。
炎炎设计
森林海
千巷猫影
相关分类