0
如何将的WebAPI行动执行后发送成功/失败响应的JSON我有一个名为FundTransfer功能,如何实现它像输出:下面如何在web api中发送json中的成功/失败消息? ?
FundTransfer(string FromAccountNo, string ToAccountNo, decimal Amount,
string Remarks)
Output:
return: Success OR Fail with reason
string MsgCode: 00 (means success) OR 11 (means failure)
string Message: "Insufficient Balance ... or any other reason" (if fail,
there must be some reason in the Message")
给出。在那一刻,我称它为执行和全成执行发送真正
我的WebAPI行动(现在)
[HttpPost]
[ActionName("transfer")]
public IHttpActionResult FundTransfer([FromBody] FundTransfer transfer)
{
var transferData = BusinessLayer.Api.AccountHolderApi
.FundTransfer(transfer);
return Ok(transferData);
}
的API
业务层
public static bool FundTransfer(FundTransfer transferData)
{
return
DatabaseLayer.Api.AccountHolderApi.FundTransfer(transferData);
}
DatabaseLayer
public static bool FundTransfer(FundTransfer transferData)
{
string sql = @"SELECT * FROM sms.post_fund_transfer('" +
transferData.FromAccount + "','" +
transferData.ToAccount + "','" + transferData.Amount +
"','" + transferData.Statement + "')";
using (var command = new NpgsqlCommand(sql))
{
return DBOperations.ExecuteNonQuery(command);
}
}
我仍然在学习的WebAPI并没有找到相关的响应消息的一些问题/答案,但不可能得到赞赏through.any帮助。
谢谢。
我希望我不使用你的公司与该SQL注射:( – ATerry
@ATerry S ire,没有公司,学生,学习..但不会伤害,如果你分享和启发我的SQL注入的事情?请。 – OLDMONK
您正在传递一个命令到数据库作为SQL,你建立的SQL字符串使用未经清理的用户参数。所以如果我要例如传入“'); drop database sms;”进入FromAccount。告别你的短信数据库。始终使用参数。 “从sms.post_fund_transfer(@ param1,@ param2,@ param3)中选择*”。然后对每个参数使用新参数(“param1”,transferData.FromAccount),并对performtenonquery使用重载来分别传递查询和参数,而不是手动注入。我的例子可能会有点偏差,我不再使用sql。 – ATerry