如何验证网络 api 响应

How to validate web api response

我在 Web api 上工作,我需要在其中验证响应 returned。我想编写一些通用代码以确保来自 api 的响应 return 的格式正确。

基本上有状态、备注等字段应该出现在响应中,如果这些字段为空或无效,那么我应该 return 一些错误代码,但不确定如何实现,有人可以在这里指导我?提前致谢。

谢谢, 苏达玛

以下内容可能适合您。它假定您使用的是 ObjectResult,但您可以将其调整为您实际使用的 IActionResult 实现。以下不是生产代码;相反,它让您了解您可以做什么。

public class MyResultFilter : IResultFilter
{
    public void OnResultExecuted(ResultExecutedContext context)
    {

    }

    public void OnResultExecuting(ResultExecutingContext context)
    {
        var result = context.Result as ObjectResult;
        var value = result.Value as MyCustomType;
        if (!IsValid(value) 
        {
            context.Result = new StatusCodeResult(500);
        }
    }

    private bool IsValid(MyCustomType value) 
    {
        return value != null && 
            value.Status != null &&
            value.Remarks != null;
    }
}