我正在尝试将下面的对象转换为查询字符串,以便可以与GET请求一起使用。
Class A {
String prop1;
String prop2;
Date date1;
Date date2;
ClassB objB;
}
Class B {
String prop3;
String prop4;
}
我们可以将第一个对象转换为Map,然后将map转换为MultiValueMap,并使用URIComponentsBuilder.fromHttpUrl(“httpL//example.com”).queryParams(multiValueMap).build();
是否有更短更好的方法将对象转换为查询字符串,以便在Spring Project for Junit Test中与GET请求一起使用?
4条答案
按热度按时间5ktev3wc1#
为什么要先转换为
Map
,然后再转换为MultiValueMap
,而不是直接构建它?pjngdqdw2#
您可以编写自己的使用
java.lang.reflect
的方法。soat7uwm3#
OpenFeign有一个注解
@QueryMap
,可以根据对象属性生成查询参数:查看更多:https://github.com/OpenFeign/feign#dynamic-query-parameters
jyztefdp4#
我会这么做
创建Map,填充,然后遍历Map项,并附加到构建器,这似乎对我有用。它不支持嵌套对象。递归应该很简单。