如何在Api控制器中设置属性

时间:2014-12-04 07:25:30

标签: c# api asp.net-web-api asp.net-apicontroller

是否可以在Api Controller方法中使用out属性?我正在使用C#。 对于exp:

  [HttpGet]
public string GetWhatever(string type, string source,out int errorCode, out string errorMessage)

如果是的话,一个如何调用它并获得out值的例子会很棒。

2 个答案:

答案 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文章开始,希望您能更好地理解。

希望有所帮助。