最近做C#的API接口开发,平时我们做接口时大部分都是拼接字符串的形式来返回对应的json格式,例如下面:
[C#] 纯文本查看 复制代码 context.Response.Write(jsonback + "({\"status\":\"ok\",\"msg\":\"成功\""})");
这种拼接感觉很不方便,不便于扩展和维护修改,所以我想写一个通用的json返回实体类或许会方便些,所以就在开发的前期写了一个通用的类,在开发的过程中又不断的优化,感觉已经可以胜任一般的返回json的任务了。
项目框架我大概搭建了一下,在global文件写了一个调用的例子,其他大家可以慢慢研究,有什么问题大家可以下面回复的,我看到了一定会答复滴。
jsonmodel里面一个JsonHelper类封装了对象和json之间的转换可以直接调用里面的方法。
JsonMsgRet这个类就是通用的返回json对象类。
下面是JsonMsgRet这个类的使用方法。
[C#] 纯文本查看 复制代码 protected void Application_BeginRequest(object sender, EventArgs e)
{
if (HttpContext.Current.Request.Path.Contains(".ashx"))
{
//统一在请求接口之前做签名验证检测
JsonMsgRet<string> jsonRet = new JsonMsgRet<string>();//因为是T,可以根据实际需要传递你要返回的对象,可以是单个类,可以是list集合等。
var msg = string.Empty;
bool isVertify =false;//这里写你自己的签名验证逻辑
if (!isVertify)
{
jsonRet.Content = msg;
Context.Response.ContentType = "text/plain";
Context.Response.Write(JsonHelper.json(jsonRet));
Context.Response.End();
}
}
}
下面上源码:
AppApi.rar
(29.05 KB, 下载次数: 61)
|