带有表单日期 c# 的 PATCH 请求

Posted

技术标签:

【中文标题】带有表单日期 c# 的 PATCH 请求【英文标题】:PATCH request with form-date c# 【发布时间】:2020-03-03 05:25:48 【问题描述】:

在我的 Web 应用程序中,我需要实现 PATCH API 端点来更新/修补某些实体。 我知道 JSON Patch 是我可以实现的,但是这里的问题是来自前端的数据是 From-data 格式。有什么方法可以在表单数据中实现 JsonPatch 类型的过程以进行补丁调用? ?

【问题讨论】:

到目前为止你有什么尝试? 到目前为止,我正在以表单数据格式获取完整的数据请求,例如 [HttpPatch("myController")] public CustomResponseDTO Update([FromForm] customDataRequestDTO reqDto) 但我想实现 json 补丁类型实现带有表单数据。 请在问题中添加您的实际代码 【参考方案1】:
[HttpPatch("update")]
public Person Patch([FromBody]JsonPatchDocument<Person> personPatch)

        personPatch.ApplyTo(_defaultPerson);
        return _defaultPerson;

您需要在链接帮助下方更改一些配置

https://docs.microsoft.com/en-us/aspnet/core/web-api/jsonpatch?view=aspnetcore-3.1

【讨论】:

我这里必须使用 [FromForm] 而不是 [FromBody] ,我可以使用吗? 您是否尝试过 [FromBody] 而不是 [FormForm] 尝试一下。并参考链接

以上是关于带有表单日期 c# 的 PATCH 请求的主要内容,如果未能解决你的问题,请参考以下文章

如何在表单请求上创建唯一验证(UPDATE / PATCH)的条件

如何使用 NodeJS 从 html 表单执行 PATCH 请求?

如何使用请求发送带有标头的 PATCH 请求

Laravel PATCH 请求不读取 Axios 表单数据

带有 JQuery 的禁用字段出现在 C# 服务器端的请求中

C# HttpClient 在补丁请求中返回 415 Unsupported media type