Skip to content

Commit d65793b

Browse files
authored
[hotfix-#1497][chunjun-connector-http]Solve the problem that http-x plug-in cannot be used in sql mode (#1500)
Co-authored-by: [email protected] <taotao0226.?>
1 parent 58fbb3b commit d65793b

File tree

3 files changed

+19
-6
lines changed

3 files changed

+19
-6
lines changed

chunjun-connectors/chunjun-connector-http/src/main/java/com/dtstack/chunjun/connector/http/converter/HttpRowConverter.java

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -18,12 +18,10 @@
1818

1919
package com.dtstack.chunjun.connector.http.converter;
2020

21-
import com.dtstack.chunjun.connector.http.client.DefaultRestHandler;
2221
import com.dtstack.chunjun.connector.http.common.HttpRestConfig;
2322
import com.dtstack.chunjun.converter.AbstractRowConverter;
2423
import com.dtstack.chunjun.converter.IDeserializationConverter;
2524
import com.dtstack.chunjun.converter.ISerializationConverter;
26-
import com.dtstack.chunjun.util.GsonUtil;
2725
import com.dtstack.chunjun.util.MapUtil;
2826

2927
import org.apache.flink.table.data.DecimalData;
@@ -45,7 +43,8 @@
4543
import java.util.Map;
4644

4745
/** Base class for all converters that convert between restapi body and Flink internal object. */
48-
public class HttpRowConverter extends AbstractRowConverter<String, RowData, RowData, LogicalType> {
46+
public class HttpRowConverter
47+
extends AbstractRowConverter<Map<String, Object>, RowData, RowData, LogicalType> {
4948

5049
private HttpRestConfig httpRestConfig;
5150

@@ -69,9 +68,7 @@ public HttpRowConverter(RowType rowType) {
6968
}
7069

7170
@Override
72-
public RowData toInternal(String input) throws Exception {
73-
Map<String, Object> result =
74-
DefaultRestHandler.gson.fromJson(input, GsonUtil.gsonMapTypeToken);
71+
public RowData toInternal(Map<String, Object> result) throws Exception {
7572
GenericRowData genericRowData = new GenericRowData(rowType.getFieldCount());
7673
List<String> columns = rowType.getFieldNames();
7774
for (int pos = 0; pos < columns.size(); pos++) {

chunjun-connectors/chunjun-connector-http/src/main/java/com/dtstack/chunjun/connector/http/table/HttpDynamicTableFactory.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,8 @@ public Set<ConfigOption<?>> optionalOptions() {
7272
options.add(HttpOptions.INTERVALTIME);
7373
options.add(HttpOptions.COLUMN);
7474
options.add(HttpOptions.DELAY);
75+
options.add(HttpOptions.DATA_SUBJECT);
76+
options.add(HttpOptions.CYCLES);
7577

7678
return options;
7779
}
@@ -142,6 +144,8 @@ private HttpRestConfig getRestapiConf(ReadableConfig config) {
142144
httpRestConfig.setUrl(config.get(HttpOptions.URL));
143145
httpRestConfig.setDecode(config.get(HttpOptions.DECODE));
144146
httpRestConfig.setRequestMode(config.get(HttpOptions.METHOD));
147+
httpRestConfig.setDataSubject(config.get(HttpOptions.DATA_SUBJECT));
148+
httpRestConfig.setCycles(config.get(HttpOptions.CYCLES));
145149
httpRestConfig.setParam(
146150
gson.fromJson(
147151
config.get(HttpOptions.PARAMS),

chunjun-connectors/chunjun-connector-http/src/main/java/com/dtstack/chunjun/connector/http/table/HttpOptions.java

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,4 +64,16 @@ public class HttpOptions {
6464

6565
public static final ConfigOption<Integer> DELAY =
6666
ConfigOptions.key("delay").intType().defaultValue(30).withDescription("request delay");
67+
68+
public static final ConfigOption<String> DATA_SUBJECT =
69+
ConfigOptions.key("dataSubject")
70+
.stringType()
71+
.defaultValue("${data}")
72+
.withDescription("response data subject");
73+
74+
public static final ConfigOption<Long> CYCLES =
75+
ConfigOptions.key("cycles")
76+
.longType()
77+
.defaultValue(1L)
78+
.withDescription("request cycle");
6779
}

0 commit comments

Comments
 (0)