You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Moya 14.0.0的NetworkLoggerPlugin仅显示响应头不展示响应体如何解决

Moya 14.0.0 NetworkLoggerPlugin 不打印响应体解决方案

问题原因

Moya 14.0.0 版本的NetworkLoggerPlugin默认初始化使用的默认配置项中,logOptions没有包含响应体打印的开关,你之前使用正常大概率是此前用的Moya版本默认配置包含该参数,或者之前的自定义配置被后续代码改动覆盖。

修复方案

显式自定义插件的配置,主动开启响应体打印选项,修改插件初始化代码如下:

// 自定义日志插件配置,显式指定需要打印的内容项
let loggerConfig = NetworkLoggerPlugin.Configuration(
    logOptions: [
        .requestMethod, // 打印请求方法
        .requestHeaders, // 打印请求头
        .requestBody, // 打印请求体
        .responseStatus, // 打印响应状态码
        .responseHeaders, // 打印响应头
        .responseBody // 核心配置:开启响应体打印
    ]
)
let loggerPlugin = NetworkLoggerPlugin(configuration: loggerConfig)

// 初始化Provider时传入自定义配置的插件
let someProvider = MoyaProvider<TransferWebServicesAPI>(plugins: [loggerPlugin])

异常排查

如果修改后还是无法打印响应体,按以下顺序排查:

  • 确认当前接口返回的响应体不为空:HTTP 204等空响应状态码场景下,插件本身就不会打印响应体
  • 暂时移除项目中其他自定义Moya插件,验证是否是其他插件提前拦截处理了响应数据,导致日志插件读取不到完整响应体
  • 检查Podfile.lock中Moya的版本确实为14.0.0,避免依赖版本意外变动导致的配置不兼容

内容的提问来源于stack exchange,提问作者behrad

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.07 05:27:03