[英]How to build a payload(POST method) in Square Brackets in C#, RestServices
预期要求:
[
{
"ID": 159, //int
"Name": "Sam", // String
"Amount": 1 // int
},
{
"ID": 160, //int
"Name": "SamP", // String
"Amount": 1 // int
}
]
我必须以这种格式构建请求,但是,在有效载荷的开头和结尾处使用方形Brackets []遇到了一些麻烦
我对C#,RestServices和Xunit的处理方式如下:
RestServices
public IRestResponse PostIssue(IssueRequest IssueRequest, string Id)
{
var baseurl = _endpoint.EndpointURL;
var resource = _refund.Issue;
var restClient = new RestClient(baseurl);
var request = new RestRequest(resource, Method.POST);
request.RequestFormat = DataFormat.Json;
request.AddQueryParameter("Id", Id);
request.AddJsonBody(IssueRequest);
// EXECUTE REQUEST
var response = restClient.Execute(request);
return response;
}
RequestModel:
public class IssueRequest
{
public Item[] IssueItem { get; set; }
}
public class Item
{
public int Id { get; set; }
public int Amount { get; set; }
public string UserName { get; set; }
}
XUnit代码:
[Fact]
public void IssueScenarios()
{
//Request Boody
IssueRequest issueRequest = new IssueRequest
{
IssueItem = new Item[]
{
new Item {Id = 159, Amount = 1, Name = "Sam"}
new Item {Id = 160, Amount = 1, Name = "Samp"}
}
};
var response = _restServices.PostIssue(issueRequest, ItemID);
IssueResponse parsedResponse = JsonConvert.DeserializeObject<issueResponse>(response.Content);
}
实际上,我能够构建如下这样的有效负载:
{"Property1":[{"Id":159,"Amount":1,"Name":"Sam"},{"Id":160,"Amount":1,"Name":"SamP"}]}
但我需要像
[{"Id":159,"Amount":1,"Name":"Sam"},{"Id":160,"Amount":1,"Name":"SamP"}]
没有任何“ Property1”名称
感谢您的帮助,谢谢
序列化基础项目数组
request.AddJsonBody(IssueRequest.IssueItem);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.