提交 70295f59 编写于 作者: O owen

替换"inappropriate blocking method call"代码

上级 1e6f8795
......@@ -85,9 +85,10 @@ public class ValidateCodeGatewayFilter extends AbstractGatewayFilterFactory {
response.setStatusCode(HttpStatus.PRECONDITION_REQUIRED);
response.getHeaders().setContentType(MediaType.APPLICATION_JSON);
final String errMsg = e.getMessage();
return response.writeWith(Mono.create(monoSink -> {
try {
byte[] bytes = objectMapper.writeValueAsBytes(R.failed(e.getMessage()));
byte[] bytes = objectMapper.writeValueAsBytes(R.failed(errMsg));
DataBuffer dataBuffer = response.bufferFactory().wrap(bytes);
monoSink.success(dataBuffer);
......
......@@ -54,12 +54,14 @@ public class ImageCodeHandler implements HandlerFunction<ServerResponse> {
@Override
public Mono<ServerResponse> handle(ServerRequest serverRequest) {
final String randomStr = serverRequest.queryParam("randomStr").get();
return ServerResponse
.status(HttpStatus.OK)
.contentType(MediaType.IMAGE_JPEG)
.body(BodyInserters.fromDataBuffers(Mono.create(monoSink -> {
try {
byte[] bytes = createCodeImage(serverRequest);
byte[] bytes = createCodeImage(randomStr);
DefaultDataBuffer dataBuffer = new DefaultDataBufferFactory().wrap(bytes);
monoSink.success(dataBuffer);
......@@ -70,13 +72,12 @@ public class ImageCodeHandler implements HandlerFunction<ServerResponse> {
})));
}
private byte[] createCodeImage(ServerRequest serverRequest) throws IOException {
private byte[] createCodeImage(String randomStr) throws IOException {
//生成验证码
String text = producer.createText();
BufferedImage image = producer.createImage(text);
//保存验证码信息
String randomStr = serverRequest.queryParam("randomStr").get();
redisTemplate.opsForValue().set(CommonConstants.DEFAULT_CODE_KEY + randomStr, text, 60, TimeUnit.SECONDS);
// 转换流信息写出
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册