json - 如何形成 ASP.NET OData WebApi 的 PATCH 正文?

标签 json rest http asp.net-web-api odata

我是 PATCH|MERGE 的新手,想知道如何在客户端使用它。我不确定要在 JSON 格式的负载正文中发送什么内容。

这里是一个用 C# 编写的 POCO 模型示例,用于讨论目的。

public class Person
{
  public Guid Id { get; set; }
  public string FullName { get; set; }
  public int Age { get; set; }
}

最佳答案

如果您通过 Google 寻找答案,您将看到 JSON 补丁的各种示例,其中 JSON 有效负载描述了一个或多个操作,例如替换/更新值的操作:

PATCH /people/guid123lalala HTTP/1.1    
Content-Type: application/json-patch

{
  "op": "replace",
  "path": "/FullName",
  "value": "Willy Lopez"
}

或者这个:

PATCH /people/guid123lalala HTTP/1.1    
Content-Type: application/json-patch

[
  {"replace": "/FullName", "value": "Willy Lopez"}
]

(我什至不确定 JSON 补丁是否正确。)

但是,不支持 application/json-patch 格式。因此,从 2015 年 1 月开始,对于 WebApi 2.2 上的 OData,只需发送省略不变属性的对象,就像使用普通 JSON 一样:

PATCH /people/guid123lalala HTTP/1.1    
Content-Type: application/json

{
  FullName: "Willy Lopez"
}

关于json - 如何形成 ASP.NET OData WebApi 的 PATCH 正文?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27944606/

相关文章:

json - Neo4j 节点属性包含原始 json 作为元数据

使用此 URL 在 Swift 中解析 JSON

java - Jersey 异常 : SEVERE: A message body reader for Java class

Spring android 的 iOS 替代品

node.js - 请求:使用请求 node.js 两次调用响应函数获取请求

java - 如何使用java(spring boot)以json格式检索完整值(带小数的大整数值)?

javascript - 如何检查我的 JSON 字段是否已定义?

java - 使用 java MultipartEntityBuilder 上传文件抛出内容太长。有什么替代方案吗?

web-services - REST - 更正国家(地理位置)受限资源的错误代码

http - Ionic2,Angular2 :How to avoid CORS issue while using http get for REST API service call?