【问题标题】:Restful API returning 404 from Post request and not generated tokenRestful API 从 Post 请求返回 404 且未生成令牌
【发布时间】:2019-06-22 20:01:07
【问题描述】:

我正在 .Net Core 上构建一个 Restful API,当我使用 Postman 对其进行测试时,它在本地返回 404

此身份验证方法通过一个用户类获取登录信息,我将其作为简单的 json 发送...

{
    "Username": "USER",
    "Password": "PASSWORD"
}

路由和登录信息检查正在工作,因为它使用生成的令牌到达“返回 OK(...)”。但是 Postman 得到的是 404 而不是令牌。是否缺少其他设置?我应该退回其他东西吗?

[Route("api/[controller]")]
[ApiController]
public class AuthController : ControllerBase
{       
    [AllowAnonymous]
    [HttpPost]
    [Route("token")]
    public IActionResult Post([FromBody]User user)
    {
        //if login info wrong then return

        //create token

        var serialized_token =  new { token = new JwtSecurityTokenHandler().WriteToken(token) };

        return Ok(serialized_token);        
    }
}

我使用的是标准本地 URL:https://localhost:[PORT_NUMBER]/api/Auth/token

这正是我通过邮递员返回的内容......

无法得到任何回应 连接到https://localhost:[PORTNUMBER]/api/Auth/token 时出错。

为什么会发生这种情况: 服务器无法发送响应: 确保后端正常工作 自签名 SSL 证书被阻止: 通过在“设置”>“常规”中关闭“SSL 证书验证”来解决此问题 代理配置错误

【问题讨论】:

  • 您是否向邮递员提出邮寄请求?没有得到?
  • 与邮递员是的
  • 如果它没有找到路由,那么当我在返回 OK(...) 处设置断点时它将如何闯入方法
  • @John 请发布来自邮递员的等效 curl 请求。
  • 在 Postman 中的 URL 是一样的。具体是什么?我将登录信息作为正文中的 JSON 发送。内容类型为 application/json

标签: c# rest asp.net-core postman


【解决方案1】:

这似乎是因为 Postman 拒绝了本地服务器提供的不受信任的 Self-signed SSL 证书。尝试在Postman 设置中禁用 SSL 验证: 点击下方标记的图标,然后点击“设置”:

然后关闭“SSL证书验证”:

【讨论】:

  • 就是这样!至少就邮递员而言。如果我将它部署到 Azure 上的生产槽,我是否需要要求客户对其设置执行相同的操作?
  • 这将取决于您将分配给 Azure 上的应用程序的证书。如果它将由信任提供者发布,则默认情况下可以。你可以得到一个基本的概述here
猜你喜欢
  • 2012-08-19
  • 2023-03-05
  • 1970-01-01
  • 1970-01-01
  • 2018-12-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多