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 メッセージを受け取りました。このコードのどこが間違っていますか?
ありがとう。