我在使用 RestHeart 时遇到问题。我想删除 MongoDB 服务器中的特定文档,并确认以下命令在命令提示符下工作正常。
http delete localhost:8080/mytest/users/56dda76daeb32b0860d909e1 if-match:56dda76daeb32b0860d909e2
该文档已正确删除,然后我在同一个集合中创建了一个文档,我编写了一些 C# 代码来删除新创建的文档。
public async void TryDeleteAsync() {
using(var client = new HttpClient()) {
client.BaseAddress = new Uri("http://127.0.0.1:8080/");
client.DefaultRequestHeaders.Accept.Clear();
client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
client.DefaultRequestHeaders.IfMatch.Clear();
client.DefaultRequestHeaders.IfMatch.Add(new EntityTagHeaderValue("\"56dda76daeb32b0860d909e5\""));
HttpResponseMessage response = await client.DeleteAsync("/mytest/users/56dda76daeb32b0860d909e4");
if(response.IsSuccessStatusCode) {
var result = await response.Content.ReadAsStringAsync();
Console.WriteLine(result);
}
}
}
文档和 ETag id 正确,但我收到响应 412 precondtion failed 消息。这段代码有什么问题?
谢谢。