ASP.NETCore自定义InputFormatter/ReadRequestBodyAsync应该返回什么来指示错误。
创始人
2024-09-18 18:00:14
0

当ASP.NET Core自定义InputFormatter / ReadRequestBodyAsync出现错误时,应该使用以下两种方法来指示错误:

1.使用try-catch块捕获错误,并抛出自定义的异常。在异常的构造函数中可以包含自定义的错误信息。例如:

public async override Task ReadRequestBodyAsync(InputFormatterContext context) 
{
    try 
    {
        // 读取请求的body并进行处理
        return await base.ReadRequestBodyAsync(context);
    } 
    catch (FormatException e) 
    {
        // 抛出自定义异常
        throw new CustomInputFormatterException("Invalid input format.", e);
    }
}

2.在返回的InputFormatterResult对象中包含错误信息。可以创建一个自定义的对象来包含输入的数据和错误信息。例如:

public async override Task ReadRequestBodyAsync(InputFormatterContext context) 
{
    // 读取请求的body并进行处理
    if (inputFormatIsInvalid) 
    {
        // 创建一个自定义对象,包含错误信息
        var invalidInput = new InvalidInputFormatResult
        {
            Data = input,
            ErrorMessage = "Invalid input format."
        };

        return await InputFormatterResult.FailureAsync();
    }
    
    return await base.ReadRequestBodyAsync(context);
}

public class InvalidInputFormatResult 
{
    public string Data { get; set; }
    public string ErrorMessage { get; set; }
}

相关内容

热门资讯

实测分享!aapoker俱乐部... aapoker赢率提升策略‌;实测分享!aapoker俱乐部!的确真的有挂((2020已更新))(哔...
重大发现!云霄麻将辅牌器购买(... 重大发现!云霄麻将辅牌器购买(辅助挂)果真是真的有挂(真的有挂)-哔哩哔哩1、让任何用户在无需AI插...
五分钟科普!wopoker辅助... 自定义poker系统规律,只需要输入自己想要的开挂功能,一键便可以生成出微扑克专用辅助器,不管你是想...
重大发现!雀神小程序免费玩一次... 重大发现!雀神小程序免费玩一次(辅助挂)确实真的有挂(有挂技术)-哔哩哔哩是一款可以让一直输的玩家,...
记者发布!来打红中麻将有挂吗(... 《记者发布!来打红中麻将有挂吗(辅助挂)竟然是真的有挂(确实有挂)-哔哩哔哩》 来打红中麻将有挂吗软...
查到实测辅助!轰趴大菠萝十三水... 查到实测辅助!轰趴大菠萝十三水辅助!其实是真的有挂((2021已更新))(哔哩哔哩);轰趴大菠萝十三...
7分钟科普!微扑克全自动机器人... 7分钟科普!微扑克全自动机器人(辅助挂)透视辅助((2022已更新))(哔哩哔哩)是一款可以让一直输...
揭秘攻略!雀神麻将助赢神器购买... 揭秘攻略!雀神麻将助赢神器购买(辅助挂)竟然是真的有挂(有人有挂)-哔哩哔哩;玩家必备必赢加哟《13...
一分钟了解!来几局辅助器下载(... 一分钟了解!来几局辅助器下载(辅助挂)其实真的有挂(有挂工具)-哔哩哔哩;实战中需综合运用上述技巧,...
重大通报!聚星扑克德州有假吗!... 重大通报!聚星扑克德州有假吗!其实是真的有挂((2022已更新))(哔哩哔哩);(需添加指定薇136...