【问题标题】:What is the default parameter type in .net core web api?.net core web api中的默认参数类型是什么?
【发布时间】:2021-11-08 08:58:51
【问题描述】:

例如,我有一个这样的 API:

[HttpPost("device")]
public string Post(string uid, string name)
{
    return "value";
}

我发布的这段代码可以工作吗?默认?

form-datax-www-form-urlencodedraw?

我知道如果我想发布 json 数据,我必须将 [FromBody] 和参数添加到一个类中,对吗?

问题2:如何将json数据post到API,但不必使用参数的实例却可以使用参数?

string uid, string deviceId

【问题讨论】:

  • 先生,情况如何?还有什么问题吗?

标签: .net-core asp.net-core-webapi


【解决方案1】:

Q1:我新创建了一个asp.net core 3.1 api项目并创建了一个新的HomeController,它在我身边工作

using Microsoft.AspNetCore.Mvc;

namespace WebApplication1.Controllers
{
    public class HomeController : Controller
    {
        [HttpPost("device")]
        public string Post(string uid, string name)
        {
            return "value";
        }
    }
}

Q2:我认为可能有一些方法可以实现您的目标,但恐怕需要更多配置,例如添加中间件。所以恐怕接收json数据的最简单方法是使用包含参数的实体。如果您不打算为该数据格式创建实体,也许您可​​以使用Dictionary,如下面的代码:

using Microsoft.AspNetCore.Mvc;
using System.Collections.Generic;

namespace WebApplication1.Controllers
{
    public class HomeController : Controller
    {
        [HttpPost("device")]
        public string Post([FromBody] Dictionary<string, string> test)
        {
            string uid = test.GetValueOrDefault("uid");
            string name = test.GetValueOrDefault("name");
            return "value";
        }
    }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-09-18
    • 2023-01-04
    • 2014-07-28
    • 2013-04-06
    • 2012-01-09
    • 1970-01-01
    • 2010-12-06
    相关资源
    最近更新 更多