首页 > 解决方案 > 为什么 API 向我发送新用户的 OK 响应和 Id 但找不到用户?

问题描述

我正在使用 Restsharp 在 C# 中构建 API 使用者。当向我发送这样的请求时:

         var request = new RestRequest("Employees",Method.POST);
                    request.AddHeader("Accept", "application/json");
                    request.AddParameter("x-company", xCompany);
                    request.AddHeader("Content-Type", "application/json");
                    request.AddJsonBody(entity,"application/json");

         IRestResponse response = client.Execute(request);

我收到了 200 个州的回应和这个机构:

"{\"data\":{\"id\":\"cDhkRjdaYVNsS0lLeElONkZpZmVkUT09\",\"firstName\":\"fName\",\"lastName\":\"name\",\"email\":\"fName@mail.de\",\"companyId\":null,\"phoneNumber\":null,\"budgetGroupId\":84405,\"badgeId\":null,\"description\":\"description-dev\",\"status\":\"Unknown\",\"takeawayPayCard\":{\"reference\":null,\"cardLastDigits\":null,\"status\":\"Unknown\"}},\"success\":true,\"errors\":[]}"

在此处输入图像描述 同样的请求也适用于邮递员。我认为该操作必须成功,因为响应为 200 并且包含用户的 Id。但是如果我搜索用户,它就被创建了。我究竟做错了什么?

编辑:使用 Postman 生成的代码有效,但我无法替换 Json 中的右侧值,因为 $@ 不可用:

var request = new RestRequest(Method.POST);
request.AddHeader("Authorization", "Bearer ###TOKEN####");
request.AddHeader("Content-Type", "application/json");
var body = @" {
" + "\n" +
@"        ""id"": null,
" + "\n" +
@"        ""firstName"": ""test"",
" + "\n" +
@"        ""lastName"": ""test4"",
" + "\n" +
@"        ""email"": ""tesmail@mail.de"",
" + "\n" +
@"        ""companyId"": null,
" + "\n" +
@"        ""phoneNumber"": null,
" + "\n" +
@"        ""budgetGroupId"": 84405,
" + "\n" +
@"        ""badgeId"": null,
" + "\n" +
@"        ""description"": ""adessso"",
" + "\n" +
@"        ""status"": null
" + "\n" +
@" }";
request.AddParameter("application/json", body,  ParameterType.RequestBody);
IRestResponse response = client.Execute(request);

标签: c#apirestsharp

解决方案


推荐阅读