Parcourir la source

update README.md.

Signed-off-by: 李学强 <15681218681@163.com>
李学强 il y a 2 ans
Parent
commit
9a59726189
1 fichiers modifiés avec 21 ajouts et 1 suppressions
  1. 21 1
      README.md

+ 21 - 1
README.md

@@ -113,5 +113,25 @@ spring:
 
  解密使用的是标准的aes对称加密
 
-![解密代码](db/1700225301255.jpg)
+
+```
+解密关键方法
+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());
+			}));
+```
+