首页 > 解决方案 > 调用rest API时Powershell Posted对象始终为空

问题描述

我通过以下方式在 Azure DevOps 2019(本地)的 Powershell 构建步骤中将 json 发布到 ASP.net Core API:

    $JSON = @'
    {
        "id":13,
        "parameter1":34,
        "parameter2":"sometext",
        "parameter3":1232      
    }
    '@

$response = Invoke-WebRequest -Uri "https://myapi/queue/" -Method Post -Body $JSON -ContentType "application/json"

这是 ASP.Net 核心端点定义:

 [HttpPost]
    public ActionResult QueueJob([FromBody]BuildJobVM newBuildJob)
    {
        logger.LogDebug("POST request traced");    
    }

问题是调用了端点 get 但主体对象 newBuildJob 始终为空。powershell json 包含对象 BuildJobVM 中指定的所有参数。知道为什么发布的对象总是为空吗?

标签: azurepowershellazure-devops

解决方案


结果发现其中一个参数的值是字符串而不是整数,因此无法解析对象,从而导致空值。


推荐阅读