Rest API - Put或Patch

时间:2018-05-29 16:14:21

标签: rest powershell

我正在尝试使用Rest API来使用PowerShell更改TFS2017版本中的值。我让它在Postman中工作但是我使用PUT方法,它要求您指定每个值以更新构建。

我试图找到一个更新一个变量的解决方案,其他一切都保持不变。我不确定我的端点是否正确。这就是我所拥有的

http://MyTFS:8080/tfs/DefaultCollection/Project/_apis/build/definitions/MyBuildID?api-version=3.0

当我对此进行GET时,我有:

*A bunch of text*
    "variables": {
        "system.debug": {
            "value": "false",
            "allowOverride": true
        },
        "BuildVersion": {
            "value": "ValueIWantToChange"
        }
    },
*A bunch of text*

我已经成功使用了put方法,并且只要变量的数量不多,就不要介意使用它。我试图使用Patch方法,但不支持。

我唯一想要改变的是构建版本。我需要一个简单的请求来更新该值。这是我第一次使用REST API调用,所以如果这非常简单,我很抱歉。

编辑:当我运行补丁时,我只是得到了#34;请求的资源不支持http方法' PATCH'"。也许我在这里出错了?我的json身体看起来像是这个请求:

{
    "Variables":
    {
        "BuildVersion": 
        {
            "value": "ValueToChangeTo"
        }
    }
}

我认为当我设置Powershell以运行PUT命令时,我也会得到同样的错误。 PUT在Postman中正常工作,所以我不知道问题是什么。

1 个答案:

答案 0 :(得分:0)

自我描述API非常棒 - 信息性错误消息甚至更好!您似乎回答了自己的问题,并显示错误消息:

"The requested resource does not support http method 'PATCH'"

看起来它根本不支持PATCH(这很常见)。