邮递员POST请求中的对象传递列表-身体

问题描述 投票:0回答:1

我在API-HTTP POST请求中使用此语法

public IHttpActionResult SyncWealthItemsForAccount([FromBody] List<IntegrationWealthItem> wealthItems, Data.EnumerationsIntegration.IntegrationType integrationType, string accountGuidId)

我想在邮递员中进行测试:我在标题中传递了授权和内容类型:

Content-Type:application/x-www-form-urlencoded

这是我传递WealthItems列表的方式

enter image description here

[0] .ExternalID表示WealthItems [0] .ExternalID

我想这不是传递它的正确方法。我有以下错误

{
    "Message": "The request is invalid.",
    "ModelState": {
        "wealthItems": [
            "Ambiguous match found."
        ]
    }
}

任何帮助将不胜感激。

api http-post postman frombodyattribute
1个回答
0
投票

请求必须作为JSON传递。因此,您应该在Postman中的Headers部分设置为Content-Typeapplication / jsonenter image description here

邮递员的身体部分应选择选项Raw,并且身体可以像下面的代码片段一样,enter image description here注意:在此示例中,MessagePartTransfer是一个列表,每个MessagePartTransfer具有2个属性-MessagePartId和MessagePartTypeId

正在测试的服务方法:

public ICollection<MessagePartTransferResponse> DistributeMessages(ICollection<MessagePartTransfer> messageParts, long applicationId, long transactionId)

MessageTransferPart类和属性:

[DataContract(Name = "MessagePartTransfer")]
public class MessagePartTransfer
{
    public MessagePartTransfer();

    [DataMember]
    public long MessagePartId { get; set; }
    [DataMember]
    public long MessagePartTypeId { get; set; }
}

邮递员请求正文:(在此示例中,我要发送2个MessagePartTransfer类型的对象)

[
    {

        "MessagePartId": 1,
        "MessagePartTypeId":2
    },
    {
        "MessagePartId":3,
        "MessagePartTypeId":4
    }
 ]
© www.soinside.com 2019 - 2024. All rights reserved.