调用Azure DevOps新增工作项评论API报错:请求资源不支持POST方法
报错产生原因
- API版本不匹配:你参考的是5.1版本的接口规范,但实际请求未携带正确的
api-version查询参数,或参数值与文档版本不一致。低于5.1版本的该接口仅支持GET请求查询评论,不支持POST新增操作。 - 请求体格式不符合要求:5.1版本的新增评论接口要求请求体为单个JSON对象,你当前传入的是外层包裹数组的格式,会触发路由匹配异常,被识别为无效的POST请求路由。
- URL路径不完整:虽然你判定URL与文档匹配,但可能存在组织、项目路径前缀缺失,或路径拼写错误的问题,导致请求落到了不支持POST的旧接口路由上。
排查解决方法
- 补全API版本参数:在请求URL末尾添加
?api-version=5.1,确保路由匹配你参考的5.1版本接口规则,完整URL格式如下:https://dev.azure.com/{你的组织名}/{你的项目名}/_apis/wit/workItems/11351/comments?api-version=5.1 - 修正请求体格式:去掉请求体外层的数组括号,直接传入单个JSON对象:
{ "text": "Postman: This is a test comment, please ignore." } - 校验请求头配置:确保请求头的
Content-Type参数设置为application/json,避免请求格式无法被接口识别。 - 检查访问权限:确认你使用的个人访问令牌(PAT)具备对应工作项的编辑权限,权限不足也可能触发路由拦截类的错误响应。
内容的提问来源于stack exchange,提问作者Nathan Dehnel
相关产品推荐
相关产品推荐

