如何使用c# WPF在Web API中发布带有子细节的数据?



当我发布这个数据扔邮差到Web API((http://192.168.18.15/api/PostData)),它为我工作,给我200 OK成功代码方法:,Content-Type: application/jsoncache - control: no - cache

[
{
"Code": "900350491",
"FullName":"John Setalh",
"OrgCode": "13",
"OrgDescription": "Microsoft Services",
"RegCode": "11",
"DISTRICT_CODE": "900",
"ACCOUNT_NO": "00012043",
"BANK_ACCOUNT_NO": "00003043",
"DESCRIPTIONS": "just test the System",
"AMOUNT": "300",
"SUB_DETAILS":
[
{
"Unit": "73000",
"ReCode": "13300",
"ReDes":"Some Description",
"ReAmount": "0"
}
]
}
]

现在我想实现c#代码来发布这个JSON数据,我尝试了这个代码:

using (var client = new HttpClient())
{

client.DefaultRequestHeaders.Authorization =
new AuthenticationHeaderValue("Bearer",mytoken);
client.BaseAddress = new Uri("http://192.168.18.15/");
MyModel r = new MyModel();
r.Code = "12354";
r.FullName = "FullName Here";
r.OrgCode = "73";
r.OrgDescription= "SomeDescription";
r.RegCode = "50";
r.DISTRICT_CODE = "230";
r.ACCOUNT_NO = "00012043";
r.BANK_ACCOUNT_NO = "00203043";
r.DESCRIPTIONS = "just test the System";
r.AMOUNT = "300";
r.SUB_DETAILS.Unit="73000";
r.SUB_DETAILS.ReCode="13300";
r.SUB_DETAILS.ReDes="Some Description";
r.SUB_DETAILS.ReAmount="300";
var sendData = client.PostAsJsonAsync("api/PostData", new List<MyModel> {r}).Result;
var result = sendData.Content.ReadAsStringAsync();
string TariffNos = result.Result;
}

它给我一个错误消息:错误的尝试状态码:400错误:未经授权谁能帮助我哪里是问题我的令牌是正确的,为什么它给那个错误由于

您的模型应该是一个集合,因为您正在为postman使用集合。试试这个模型

var sendData = client.PostAsJsonAsync("api/PostData", new List<MyModel> {r}).Result;
并尝试添加内容类型
var contentType = new MediaTypeWithQualityHeaderValue("application/json");
client.DefaultRequestHeaders.Accept.Add(contentType);

最新更新