c# - 尝试使用 Content-Type application/x-www-form-urlencoded 访问 API

标签 c# visual-studio api .net-core postman

我正在使用 dotnet 核心框架构建 API Restful 服务器。我添加了我的 Controller 并尝试使用 postman 到达端点。

我有两个问题

  • 问题 1

    // POST api/user
    [HttpPost]
    [Authorize()]
     public async Task<IActionResult> Post([FromBody]UserModel user)
    {
    }
    

除非我将 postman 的请求发送为 application/json通过键入原始 json,如果我使用 application/x-www-form-urlencoded,我将无法到达此端点相反,我总是得到 415 unsupported media type

  • 问题2

    // POST api/user/avatar
    [HttpPost]
    [Authorize()]
    [Route("avatar")]
    public async Task<IActionResult> Post([FromBody]UserModel user, [FromBody]IFormFile file)
    {
    }
    

我不知道如何使用 postman 到达这样的端点

最佳答案

在问题 1 中,您只需要使用 FromForm 属性而不是 FromBody。 至于第二,我认为编写简单的单元测试或使用 Swashbuckle 会更容易。 , 它有很好的接口(interface)来处理这样的请求

关于c# - 尝试使用 Content-Type application/x-www-form-urlencoded 访问 API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42510382/

相关文章:

c# - XML 文档 (1,2) 中存在错误,System.InvalidOperationException : <AuthorizationResult xlms :""> was not expected

python - 使用 GitHub API 检查用户是否存在

c# - 如何从 C++ 调用 C#

c# - 在输入文件中找不到字符串

visual-studio - TFS 中的搁架与工作区

python - TypeError : __init__() got an unexpected keyword argument 'checksec'

c# - 解决 DataGrid 列宽调整不一致的问题

c# - 在略有差异的应用程序之间共享 NLog 配置

c++ - 针对 64 位错误编译 GINA.dll

jquery - 使用 .one() API 仅加载一次 javascript 函数