|
@@ -26,44 +26,45 @@ public class Sending<T> {
|
|
|
* get请求拼接参数使用
|
|
|
*
|
|
|
* @param url
|
|
|
- * @param params
|
|
|
+ * @param obj map类型或实体类型
|
|
|
* @return
|
|
|
*/
|
|
|
private String appendParamsToUrl(String url, T obj) {
|
|
|
Map<String, Object> params = new HashMap<>();
|
|
|
- if (obj instanceof Map) {
|
|
|
- params = (Map<String, Object>) obj;
|
|
|
- if (params != null && !params.isEmpty()) {
|
|
|
- StringBuilder urlBuilder = new StringBuilder(url);
|
|
|
- urlBuilder.append("?");
|
|
|
- for (Map.Entry<String, Object> entry : params.entrySet()) {
|
|
|
- urlBuilder.append(entry.getKey()).append("=").append(entry.getValue()).append("&");
|
|
|
- }
|
|
|
- url = urlBuilder.toString();
|
|
|
- }
|
|
|
- } else {
|
|
|
- Field[] fields = obj.getClass().getDeclaredFields();
|
|
|
- for (Field field : fields) {
|
|
|
- field.setAccessible(true);
|
|
|
- try {
|
|
|
- String fieldName = field.getName();
|
|
|
- Object fieldValue = field.get(obj);
|
|
|
- if (fieldValue != null) {
|
|
|
+ Field[] fields = obj.getClass().getDeclaredFields();
|
|
|
+
|
|
|
+ for (Field field : fields) {
|
|
|
+ field.setAccessible(true);
|
|
|
+ try {
|
|
|
+ String fieldName = field.getName();
|
|
|
+ Object fieldValue = field.get(obj);
|
|
|
+
|
|
|
+ if (fieldValue != null) {
|
|
|
+ if (field.getType() == Map.class) {
|
|
|
+ // 如果字段是 Map 类型,将其拼接到 URL
|
|
|
+ Map<String, Object> mapFieldValue = (Map<String, Object>) fieldValue;
|
|
|
+ for (Map.Entry<String, Object> entry : mapFieldValue.entrySet()) {
|
|
|
+ params.put(fieldName + "[" + entry.getKey() + "]", entry.getValue());
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ // 处理其他类型的字段
|
|
|
params.put(fieldName, fieldValue);
|
|
|
}
|
|
|
- } catch (IllegalAccessException e) {
|
|
|
- e.printStackTrace();
|
|
|
}
|
|
|
+ } catch (IllegalAccessException e) {
|
|
|
+ e.printStackTrace();
|
|
|
}
|
|
|
- if (params != null && !params.isEmpty()) {
|
|
|
- StringBuilder urlBuilder = new StringBuilder(url);
|
|
|
- urlBuilder.append("?");
|
|
|
- for (Map.Entry<String, Object> entry : params.entrySet()) {
|
|
|
- urlBuilder.append(entry.getKey()).append("=").append(entry.getValue()).append("&");
|
|
|
- }
|
|
|
- url = urlBuilder.toString();
|
|
|
+ }
|
|
|
+
|
|
|
+ if (!params.isEmpty()) {
|
|
|
+ StringBuilder urlBuilder = new StringBuilder(url);
|
|
|
+ urlBuilder.append("?");
|
|
|
+ for (Map.Entry<String, Object> entry : params.entrySet()) {
|
|
|
+ urlBuilder.append(entry.getKey()).append("=").append(entry.getValue()).append("&");
|
|
|
}
|
|
|
+ url = urlBuilder.toString();
|
|
|
}
|
|
|
+
|
|
|
return url;
|
|
|
}
|
|
|
|