Talend tRestClient调用REST API重复Accept头致406错误求助
我之前碰到过一模一样的问题!Talend的tRestClient组件确实有这个容易踩的坑——当你在Advanced Settings>HTTP Headers手动添加Accept: application/json后,它还会根据组件主配置里的Accept Type下拉选项自动生成另一条Accept请求头,导致最终请求里出现重复的Accept字段,直接触发了API的406 Not Acceptable错误。
下面是我当时解决这个问题的两种有效方法:
方法一:使用组件内置的Accept配置(推荐)
- 先删除你在
Advanced Settings>HTTP Headers里手动添加的Accept头 - 回到
tRestClient的主配置界面,找到Accept Type下拉框,直接选择application/json选项 - 这样Talend只会生成一条标准的
Accept: application/json请求头,不会出现重复,API就能正常响应了
方法二:手动控制请求头(适合特殊场景)
如果你的场景需要更灵活的请求头配置,可以这样操作:
- 在主配置的Accept Type下拉框里选择
Custom - 把Custom对应的输入框留空(或者输入你需要的精确值)
- 再回到
Advanced Settings>HTTP Headers里添加Accept: application/json - 这样组件就不会自动生成额外的Accept头,只会保留你手动配置的那一条
额外验证步骤
配置完之后,切换到代码标签页检查生成的代码,确认里面只存在一条Accept: application/json的请求头配置。如果还是有重复,排查下是否有其他前置组件(比如tSetGlobalVar)也在设置请求头参数。
内容的提问来源于stack exchange,提问作者j_hindsight
相关产品推荐
相关产品推荐

