我正在开发一个Azure移动服务,其中包含一个带有Patch方法的表控制器:
public Task<User> PatchUser(string id, Delta<User> patch)
{
return UpdateAsync(id, patch);
}
我在本地托管我的移动服务,并希望测试Patch如何工作。我使用Postman来做到这一点,但我继续通过以下响应获得HTTP Error 400:
{“message”:“HTTP请求不包含有效的实体主体。 请确保有实体主体和相关的内容类型 标题出现在请求中。“}
我在this网站上看到POST请求需要包含这样的主体:[ {“op”:“替换”,“路径”:“/ email”,“value”:“new.email@example.org”} ]
如果我提供了一个请求主体,您可以在下面的屏幕截图中看到,我仍然得到相同的回复:
这是表控制器所基于的类用户:
public class User : EntityData
{
public string Gender { get; set; }
}
我应该如何通过Postman正确发送补丁请求?
答案 0 :(得分:2)
您应该使用第二个请求,但使用小写 g 而不是资本 G 发送'gender'属性。这是在模型中定义此属性的方法,默认情况下JSON序列化程序/反序列化器区分大小写。