Asp.net web api 自定义WebAPI响应,如状态、数据、消息格式

Asp.net web api 自定义WebAPI响应,如状态、数据、消息格式,asp.net-web-api,httpresponsemessage,Asp.net Web Api,Httpresponsemessage,如何以JSON格式自定义WebAPI 2响应,如状态、数据和消息 请求成功: { "status": "success", "data": { /* Application-specific data would go here. */ }, "message": null /* Or optional success message */ } { "status": "error", "data": null, /* or optional error pay

如何以JSON格式自定义WebAPI 2响应,如状态、数据和消息

请求成功:

{
  "status": "success",
  "data": {
    /* Application-specific data would go here. */
  },
  "message": null /* Or optional success message */
}
{
  "status": "error",
  "data": null, /* or optional error payload */
  "message": "Error xyz has occurred"
}
请求失败:

{
  "status": "success",
  "data": {
    /* Application-specific data would go here. */
  },
  "message": null /* Or optional success message */
}
{
  "status": "error",
  "data": null, /* or optional error payload */
  "message": "Error xyz has occurred"
}

定义一个新类,如:

public class ResponseDto
{
    public string status { get; set; }

    public dynamic data { get; set; }

    public string message { get; set; }
}
然后用相应的值填充属性,并执行以下操作:

var response = new ResponseDto()
{
    response.status = " ",
    response.data = obj,
    response.message = " "
}
然后从控制器方法(API)

然后,JSON格式化程序将响应对象转换为JSON字符串