繁体   English   中英

如何在C#,RestServices中的方括号中构建有效载荷(POST方法)

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM