azure - 调用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 中指定的所有参数。知道为什么发布的对象总是为空吗?
解决方案
结果发现其中一个参数的值是字符串而不是整数,因此无法解析对象,从而导致空值。
推荐阅读
- xamarin - 如何将小部件设置为手动刷新?Xamarin.Android
- java - 如何将文本文件中的数据集以空行分隔
- c# - 为什么 XContainer.Add 方法无论如何都会向添加的元素添加“xmlns”属性,我该如何阻止这种行为?
- wordpress-gutenberg - 附加的 CSS 类不适用于自定义古腾堡块
- python - 为 Pandas 中的每个组添加一个具有相同值的新列
- java - Java Jframe 问题更新 Jlist 使用对象的 arrayList 替换整个列表
- python - TypeError:预期元指定类型 DataFrame,从 Dask 获得类型 pandas.core.frame.DataFrame
- node.js - 在heroku上部署时前后没有连接
- python - 如果继承的类不正确,请根据我在 `__init__` 函数中尝试实现的内容进行更新
- python - 这个 Matplotlib 代码片段是如何工作的