如何验证网络 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;
}
}
我在 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;
}
}