313 Star 3.4K Fork 730

dromara / forest

 / 详情

声明的接口返回类型如果是String(或其他Charsequencel类型)导致自定义converter失效

已完成
创建于  
2022-08-06 20:28

当前使用Forest版本以及所使用的后端及版本

Forest: version 1.5.25
Backend: 默认

该问题是如何引起的?

接口声明返回类型String
源码 ResultHandler 判断顺序没有优先使用自定义converter。

106行:

                response.setContent(responseText);
                if (CharSequence.class.isAssignableFrom(resultClass)) {
                    return responseText;
                }

而自定义converter在114行才开始:

                if (request.getDecoder() != null) {
                    if (contentType != null && contentType.canReadAsString()) {
                        return request.getDecoder().convertToJavaObject(responseText, resultType);
                    } else {
                        return request.getDecoder().convertToJavaObject(response.getByteArray(), resultType);
                    }
                }
                ForestDataType dataType = request.getDataType();
                ForestConverter converter = request.getConfiguration().getConverter(dataType);
                if (contentType != null && contentType.canReadAsString()) {
                    return converter.convertToJavaObject(responseText, resultType);
                }

重现步骤(如果有请写完整)

报错信息/完整请求日志(如果没有请求日志请把开关打开)

接口定义(必要时请提供)

ResultHandler

评论 (1)

小海豚 创建了任务
小海豚 修改了描述
公子骏 负责人设置为公子骏
公子骏 添加了
 
bug
标签
公子骏 任务状态待办的 修改为进行中
展开全部操作日志

已在1.5.26版本中修复

公子骏 任务状态进行中 修改为已完成

登录 后才可以发表评论

状态
负责人
里程碑
Pull Requests
关联的 Pull Requests 被合并后可能会关闭此 issue
分支
开始日期   -   截止日期
-
置顶选项
优先级
参与者(2)
1216742 dt flys 1594991700
Java
1
https://gitee.com/dromara/forest.git
git@gitee.com:dromara/forest.git
dromara
forest
forest

搜索帮助