gpt4 book ai didi

asp.net-core - 我在 Swagger 中的 PATCH 请求正文有什么问题?

转载 作者:行者123 更新时间:2023-12-05 05:55:36 24 4
gpt4 key购买 nike

我正在尝试为我的 WebAPI 实现 PATCH 操作。我正在尝试使用 PATCH 进行更新。

我的 Controller 看起来像这样:

[HttpPatch("update/{id}")]
public async Task<ActionResult> UpdateSite(int id, [FromBody]JsonPatchDocument<Site> sitePatch)

这是我的站点类:

public class Site
{
public int id { get; set; }
public string site_name { get; set; }
}

这是我在 Swagger 中放入请求正文的内容:

{
"op": "replace",
"path": "site_name",
"value": "FOOO"
}
// I have also tried with: "path": "/site_name"

当代码到达 Controller 时,我看到 sitePatch 变量始终为空,它有 0 个操作。我做错了什么?

最佳答案

一个 JSON 补丁文档 ( JsonPatchDocument<T> ) 有一个操作对象的数组

你确实有一个有效的操作对象,但它不在数组中,所以它没有被正确反序列化。

下面的 JSON 应该填充 sitePatch正如预期的那样:

[
{
"op": "replace",
"path": "site_name",
"value": "FOOO"
}
]

关于asp.net-core - 我在 Swagger 中的 PATCH 请求正文有什么问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69438411/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com