现象
用户在FastGPT 4.9.0私有部署版本中使用HTTP模块时,发现当前模块通过字符替换方式引用变量。引用string类型变量时,需要手动为变量添加引号。当变量值为null时,替换后会生成值为"null"的字符串,无法符合接口要求的空值格式。为解决该问题,用户需要在HTTP模块前额外添加代码运行模块处理参数,导致调用链长度增加。
可能原因
当前HTTP模块的请求体中,变量引用采用直接字符替换逻辑,未对变量类型做适配处理。string类型变量未自动包裹引号,null值未被识别为标准空值,而是被转为字符串"null"。
排查步骤
- 确认当前使用的FastGPT版本为4.9.0私有部署版本。
- 检查HTTP模块的请求体配置,确认是否通过变量引用string类型参数。
- 测试引用值为null的string变量,查看请求体中生成的内容是否为"null"字符串。
- 确认是否需要额外添加代码运行模块处理参数,检查调用链是否变长。
解决与验证
目前可通过在HTTP模块前添加代码运行模块处理参数,将变量转换为符合接口要求的格式。例如将null值转为实际空值,为string变量自动添加对应引号。验证时,修改参数配置后发起请求,确认请求体中的变量格式符合接口要求,null值被正确识别,无需额外处理。后续可等待官方优化HTTP模块的变量引用逻辑,实现直接适配变量类型的引用。