如何在 PostMan 中从 FromData 调用 Web Api .net 方法发送对象值

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

我的 Web API 网络核心应用程序中有一个 post API 方法,该方法有一个带有以下参数的 Dto 类:

public class ClassDto
    {
        public int Id { get; set; }
        public Comunicacao Comunicacao { get; set; }
    } 

Comunicacao
班级:

public class Comunicacao
    {
        public int Id { get; set; }
        public string Name { get; set; }
    } 

API Action(路由已正确设置):

[HttpPost]
        public async Task<IActionResult> Add([FromForm]ClassDto bannerDto, IFormFile imgDesktop)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    var result = await _banner.Add(classDto, imgDesktop);

                    return Ok(new { message = result.messageReturning, result.classDto });
                }
                else
                {
                    return BadRequest(ModelState);
                }
            }
            catch (Exception ex)
            {

                return BadRequest(ex.ToLogString(Environment.StackTrace));
            }
        }

所以我的问题是,如何使用 FormData 传递

Comunicacao
对象值在 Postman 中发送?因为当我发送“Id”时,它工作正常,但我找不到发送对象的方法!

what i have tried yet

我无法使用

FromBody
,因为正如你们所看到的,我也在发送一个文件。

c# .net .net-core postman
3个回答
2
投票

终于明白了。 必须使用object.property!


1
投票

将 iformfile 对象放入您的 dto 中,使其成为单个 dto 方法,然后您的端点将看起来像 public async Task Add([FromForm]ClassDtobannerDto) 如果您将 iformfile 放在 automapper 的 cos 之外,那么您可以在属性上使用 [ignore] 属性

抱歉想将此作为之前答案的评论,但我是通过手机输入的,所以......嗯


0
投票

您可以将正文类型设置为表单数据,然后在键值对侧只需选择文件而不是文本来上传文件

© www.soinside.com 2019 - 2024. All rights reserved.