C# 如何在web api中发送两个对象作为响应消息和响应代码
我想发送这样的响应消息C# 如何在web api中发送两个对象作为响应消息和响应代码,c#,asp.net-web-api,C#,Asp.net Web Api,我想发送这样的响应消息 {"message_code": 00, "message": "Success"} {"message_code": "00", "message": "Success"} 我的响应消息类 public class ResponseMessage { public string MessageCode { get; set; } public string Message { get; set; } } 和我的消息方法 public Resp
{"message_code": 00, "message": "Success"}
{"message_code": "00", "message": "Success"}
我的响应消息类
public class ResponseMessage
{
public string MessageCode { get; set; }
public string Message { get; set; }
}
和我的消息方法
public ResponseMessage Message(FundTransfer transfer)
{
var checkBalance =
BusinessLayer.Api.AccountHolderApi.GetBalance(transfer.FromAccount);
if (checkBalance.Balance.ToDecimal() < transfer.Amount)
{
return new ResponseMessage
{
MessageCode = "22",
Message = "Insufficient Balance"
};
}
else
{
var transferData = BusinessLayer.Api.AccountHolderApi
.FundTransfer(transfer);
if (transferData == true)
{
return new ResponseMessage { MessageCode = "00", Message = "Success" };
}
else
{
return new ResponseMessage { MessageCode = "11", Message = "Some Error" };
}
}
}
现在,例如,当我的Message()
方法中的transferData==true
时,我只得到消息对象值“Success”,因为在我的返回内容中,我返回的是响应。Message
。我希望得到JSON格式的响应,如下所示
{"message_code": 00, "message": "Success"}
而不仅仅是“成功”
目前正在学习Web API。重构API方法以返回模型,而不仅仅是消息属性
[HttpPost]
[ActionName("transfer")]
public IHttpActionResult FundTransfer([FromBody] FundTransfer transfer) {
var response = Message(transfer);
if (response.MessageCode == "11") {
return Content(HttpStatusCode.BadRequest, response);
} else {
return Ok(response);
}
}
也是为了得到这样的信息
{"message_code": 00, "message": "Success"}
{"message_code": "00", "message": "Success"}
通过JSON属性重构ResponseMessage
类
public class ResponseMessage {
[JsonProperty("message_code")]
public string MessageCode { get; set; }
[JsonProperty("message")]
public string Message { get; set; }
}
或者匿名构造模型
[HttpPost]
[ActionName("transfer")]
public IHttpActionResult FundTransfer([FromBody] FundTransfer transfer) {
var response = Message(transfer);
var model = new {
message_code = response.MessageCode,
message = response.Message
};
if (response.MessageCode == "11") {
return Content(HttpStatusCode.BadRequest, model);
} else {
return Ok(model);
}
}