【发布时间】:2015-10-15 16:37:35
【问题描述】:
我正在尝试为应用程序开发人员编写 web api,我想要下面的示例 api 结果
当异常时:
{
"StatusCode": "0",
"Message": "There's exception when calling web api"
}
正常:json 字符串中的 Result 是 web api 操作中的返回类型。
{
"StatusCode": "1",
"Message": "Action completed successful",
"Result": {}
}
如果动作是:
public DemoController : ApiController
{
public class DemoModel
{
public string X {get;set;}
public int Y {get;set;}
}
[HttpGet]
public DemoModel GetModel(int id)
{
return new DemoModel() { X = "Demo return string" , Y = 1234};
}
}
调用动作成功时的Json字符串应该是下面的示例。
{
"StatusCode": "1",
"Message": "Action completed successful",
"Result": {
"X": "Demo return string",
"Y": 1234
}
}
当异常时,应该是:
{
"StatusCode": "0",
"Message": "There's exception when calling web api"
}
因此,应用开发者可以在 web api 帮助页面中看到返回类型的详细信息。
实现起来容易吗?怎么做(没有细节,只是逻辑,细节更好。)
谢谢大家!
【问题讨论】:
-
返回该对象作为结果
return this.Ok(yourObject); -
@Fabio 那么返回类型与方法声明不匹配,对吧?那么合适的返回类型是什么?
-
返回类型将是 IHttpActionResult 并且在客户端
Result值可以基于StatusCode使用 -
返回类型为IHttpActionResult时,api helper生成的api文档看不到类型声明详情。
标签: asp.net asp.net-web-api2 asp.net-web-api