【问题标题】:WebAPI Type of method that returns either Class or ErrorWebAPI 返回 Class 或 Error 的方法类型
【发布时间】:2018-12-24 23:37:36
【问题描述】:

我想问一下在 WebAPI 方面返回错误的方法

我不确定我是否应该使用这种方法,因为除了没有 UseDeveloperExceptionPage() 的 500 内部服务器错误代码之外,这并没有提供非常好的细节;

public async Task<Token> login(User creds)
{
    var user = await Task.FromResult(_context.GetUser.....);

    if (user == null)
    {
        throw new Exception("Invalid credentials");
    }

    return BuildToken(user); // Task<Token>
}

public class Token
{
    public string token { get; set; }
    public long Expires { get; set; }
}

那么,我应该创建动态 json 并将错误模型/我的 JWT 模型转换为该动态 json 或类似的东西吗?

基本上我想返回:

{
    "Token": "aaaaa.aaaaaaaaaa.aaaaaaaaaaa",
    "Expires": "111111111"
}
    or
{
    "message": "Invalid credentials"
}

【问题讨论】:

  • 改为返回 IActionResult。另外,你为什么在这里做Task.FromResult?不要那样做,只需使方法非异步。
  • @DavidG 请把它写成答案,我会接受的。谢谢

标签: c# json asp.net-web-api asp.net-core error-handling


【解决方案1】:

更多细节:

使用方法类型: IActionResult

并返回错误,例如

return new BadRequestObjectResult
(
    new { message = "error message"}
);

【讨论】:

    猜你喜欢
    • 2015-06-15
    • 1970-01-01
    • 2013-05-26
    • 1970-01-01
    • 1970-01-01
    • 2014-08-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多