是否可以在Api Controller方法中使用out属性?我正在使用C#。 对于exp:
[HttpGet]
public string GetWhatever(string type, string source,out int errorCode, out string errorMessage)
如果是的话,一个如何调用它并获得out值的例子会很棒。
答案 0 :(得分:2)
不,这是不可能的。仅使用返回值并将其发送给客户端。
您应该在正文中发送正确的HTTP状态代码和错误消息。看看这个:http://www.asp.net/web-api/overview/error-handling/exception-handling
答案 1 :(得分:1)
我相信您错过了解Web API的用法。 您的Web Api方法不会像任何其他C#类方法一样被调用,除非您直接访问库并引用api控制器及其方法,就像任何其他C#类一样。
该方法将通过ASP.NET操作选择器调用,这取决于您的HTTP谓词(GET,PUT,POST,DELETE或PATCH)以及取决于参数的类型和数量。
现在您的方法可以返回您的数据或返回错误,具体取决于您的情况,但最终您的所有响应都将转换为statuscode / content / error,...等HTTP协议理解和处理的内容。
例如,您的方法可以返回Ok状态代码(200),或Notfound状态代码404,具体取决于您的请求在何处找到所请求的资源。
您可以从关于Web API 2的this文章开始,希望您能更好地理解。
希望有所帮助。