|
|
@@ -5,6 +5,7 @@ import com.alibaba.fastjson.serializer.SerializerFeature;
|
|
|
import com.alibaba.fastjson2.JSON;
|
|
|
import com.jzg.commons.exception.SystemException;
|
|
|
import com.jzg.quotation.commons.config.WebClientConfig;
|
|
|
+import com.jzg.quotation.commons.entity.CookiesRequest;
|
|
|
import com.jzg.quotation.commons.utils.RequestObjectConversion;
|
|
|
import lombok.RequiredArgsConstructor;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
@@ -219,6 +220,15 @@ public class RequestComponent {
|
|
|
webClient.post().uri(url).headers(setHeaders(headers)).body(BodyInserters.fromValue(body)).retrieve();
|
|
|
}
|
|
|
|
|
|
+ public <Response> ResponseEntity<Response> chengTaiGet(String url, Object initDataRequest,ParameterizedTypeReference<Response> bodyTypeReference, HttpHeaders headers) {
|
|
|
+ return webClient.get()
|
|
|
+ .uri(url)
|
|
|
+ .headers(setHeaders(headers))
|
|
|
+ .retrieve()
|
|
|
+ .toEntity(bodyTypeReference)
|
|
|
+ .block();
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* 异步GET 请求 不需要处理结果
|
|
|
*
|
|
|
@@ -292,6 +302,39 @@ public class RequestComponent {
|
|
|
return get(url, param, description, responseClass, new HttpHeaders());
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 太平洋请求加cookie
|
|
|
+ * @param url
|
|
|
+ * @param body
|
|
|
+ * @param headers
|
|
|
+ * @param cookiesRequest
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ public <Response> ResponseEntity<Response> postCookie(String url, String body, Class<Response> responseClass, HttpHeaders headers, CookiesRequest cookiesRequest) {
|
|
|
+ if (log.isDebugEnabled()) {
|
|
|
+ log.debug("request body is {}", body);
|
|
|
+ }
|
|
|
+ System.out.println("request body is {"+body+"}");
|
|
|
+ body = Optional.ofNullable(body).orElse("");
|
|
|
+ WebClient webClient = selectWebClient(url);
|
|
|
+ try {
|
|
|
+ return webClient.post()
|
|
|
+ .uri(url)
|
|
|
+ .headers(setHeaders(headers))
|
|
|
+ .cookie("route",cookiesRequest.getRoute())
|
|
|
+ .cookie("JSESSIONID", cookiesRequest.getJsessionId())
|
|
|
+ .body(BodyInserters.fromValue(body))
|
|
|
+ .retrieve()
|
|
|
+ .toEntity(responseClass)
|
|
|
+ .block();
|
|
|
+ } catch (WebClientResponseException e) {
|
|
|
+ // 如果服务端返回非2xx状态码
|
|
|
+ System.err.println("状态码: " + e.getRawStatusCode());
|
|
|
+ System.err.println("响应体: " + e.getResponseBodyAsString());
|
|
|
+ throw e;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* 构造post请求
|
|
|
*
|
|
|
@@ -722,6 +765,20 @@ public class RequestComponent {
|
|
|
return formData(url, multiValueMap, responseClass, headers);
|
|
|
}
|
|
|
|
|
|
+ public <Response> ResponseEntity<Response> formData(String url, Object body, ParameterizedTypeReference<Response> bodyTypeReference, HttpHeaders headers) {
|
|
|
+ WebClient webClient = selectWebClient(url);
|
|
|
+ MultiValueMap<String, Object> multiValueMap = RequestObjectConversion.convertMultiValueMap(body);
|
|
|
+ return webClient.post()
|
|
|
+ .uri(url)
|
|
|
+ .headers(RequestComponent.setHeaders(headers))
|
|
|
+ .contentType(MediaType.APPLICATION_FORM_URLENCODED)
|
|
|
+ .body(BodyInserters.fromMultipartData(multiValueMap))
|
|
|
+ .retrieve()
|
|
|
+ .toEntity(bodyTypeReference).doOnNext(responseBody -> System.out.println("响应内容: " + responseBody.getBody()))
|
|
|
+ .block();
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* 下载文件处理
|
|
|
*
|