如果请求成功,我们对客户端的响应格式如下:
{
"ExitCode": 1,
"ErrorMessage": "",
"NumberOfGreenBoxMatches": 4,
"NumberOfPinkBoxExtractFrames": 5,
"ProcessingTime": 4000,
“HasOverlay”: false;
"MatchResult": "...."
}
如果客户端请求错误或发生内部错误,客户建议退回以下内容:
{
"ExitCode": -10,
"ErrorMessage": "Internal error parsing pink boxes. Please contact tech support",
"NumberOfGreenBoxMatches": 0,
"NumberOfPinkBoxExtractFrames": 0,
"ProcessingTime": 1240,
“HasOverlay”: false;
"MatchResult": ""
}
是正确的方法(返回类似的json)?我的意见不是,我们应该只返回
{ "ErrorMessage": "Internal error parsing pink boxes. Please contact tech support" }
并更正HttpCode。什么是正确的方法?
答案 0 :(得分:2)
您对正确方法的建议看起来更兼容HTTP-standart。因为ExitCode
看起来像HTTP响应代码功能重复。
但我认为最终解决方案在很大程度上取决于客户端架构。您必须考虑以下问题:
ProcessingTime
等字段中接收值答案 1 :(得分:-1)
使用模型接收Web API的结果,此处客户端使用的模型是
public class MyResult
{
public int ExitCode { get; set; }
public string ErrorMessage { get; set; }
public int NumberOfGreenBoxMatches { get; set; }
public int NumberOfPinkBoxExtractFrames { get; set; }
public int ProcessingTime { get; set; }
public bool HasOverlay { get; set; }
public string MatchResult { get; set; }
}
如果您在发生错误时发送了不同的结果,该结果具有单一属性" ErrorMessage",则无法在客户端处理它。
因此,您可以根据客户提出的确切模型更好地提供信息。