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

时间:2019-12-13 04:02:16

标签: c# .net api .net-core postman

我的Web api网络核心应用程序中有一个post Api方法,该方法具有一个Dto类,其参数如下:

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

科尼卡考课:

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

Api操作(路线已正确设置):

[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));
            }
        }

所以我的问题是,如何使用传递Comunicacao对象值的FormData来发送邮递员?因为当我发送“ Id”时,它可以正常工作,但是我找不到发送对象的方法!

what i have tried yet

我不能使用FromBody,因为大家都可以看到我也在发送文件。

3 个答案:

答案 0 :(得分:2)

最后知道了。 必须使用object.property!

enter image description here

答案 1 :(得分:1)

将iformfile对象放入dto中,使其成为单个dto方法,然后您的端点将看起来像公共异步任务Add([FromForm] ClassDto bannerDto)         如果您已将iformfile放置在automapper的cos之外,则可以在属性上使用[ignore]属性

对不起,我想把它作为上一个答案的注释,但我是从手机上键入的,所以...嗯

答案 2 :(得分:0)

您可以将主体类型设置为表格数据,然后在键值对侧选择文件而不是文本进行文件上传

Postman screenshot