|
@@ -113,5 +113,25 @@ spring:
|
|
|
|
|
|
|
|
解密使用的是标准的aes对称加密
|
|
解密使用的是标准的aes对称加密
|
|
|
|
|
|
|
|
-
|
|
|
|
|
|
|
+
|
|
|
|
|
+```
|
|
|
|
|
+解密关键方法
|
|
|
|
|
+BodyInserter<Mono<String>, ReactiveHttpOutputMessage> bodyInserter = BodyInserters
|
|
|
|
|
+ .fromPublisher(modifiedBody, String.class);
|
|
|
|
|
+ HttpHeaders headers = new HttpHeaders();
|
|
|
|
|
+ headers.putAll(exchange.getRequest().getHeaders());
|
|
|
|
|
+ headers.remove(HttpHeaders.CONTENT_LENGTH);
|
|
|
|
|
+ // 创建CachedBodyOutputMessage并且把请求param加入
|
|
|
|
|
+ CachedBodyOutputMessage outputMessage = new CachedBodyOutputMessage(exchange, headers);
|
|
|
|
|
+ return bodyInserter.insert(outputMessage, new BodyInserterContext()).then(Mono.defer(() -> {
|
|
|
|
|
+ ServerHttpRequestDecorator decorator = new ServerHttpRequestDecorator(exchange.getRequest()) {
|
|
|
|
|
+ @Override
|
|
|
|
|
+ public Flux<DataBuffer> getBody() {
|
|
|
|
|
+ return outputMessage.getBody();
|
|
|
|
|
+ }
|
|
|
|
|
+ };
|
|
|
|
|
+ return chain.filter(exchange.mutate().request(decorator).build());
|
|
|
|
|
+ }));
|
|
|
|
|
+```
|
|
|
|
|
+
|
|
|
|
|
|