ASP.NET API(MVC) 对APP接口(Json格式)接收数据与返回数据的统一
话不多说,直接进入主题。 需求:基于Http请求接收Json格式数据,返回Json格式的数据。 整理:对接收的数据与返回数据进行统一的封装整理,方便处理接收与返回数据,并对数据进行验证,通过C#的特性对token进行验证,并通过时间戳的方式统一处理接收与返回的时间格式。 请求Json格式: "Cmd": "login""Token": """PageNo": 0"OnePageNum": 0"Params""UserName": "emrys""Pwd":"123456"
返回Json格式 "Cmd": "login""Result": 0"ResultNote": "Success""TotalRecordNum": 0"Pages": 0"Detail""UserName": "lining""Email":"123456789@qq.com""Age":"20"
关于代码会免费开源,所以不做详讲,下面主要是简单的应用。 一、新建新接口直接新建类名与请求的接口Cmd名称一致,继承BaseAPIService,并在名称后加上APIService,最后实现抽象方法 Process ?
cmd = pageNo = paramses =
userName = Convert.ToString(Params[
userName2 = GetParams<>( pwd = GetParams<>( age = GetParams<>(
userName3 = GetParams<>(,);
userName4 = GetParams<>(,);
DateTime time = GetParams
?二、设置验证每个请求的权限?如果需要对每个请求做登录的验证,则只需要在Main类中60行继续实现验证的部分代码即可,如果验证的请求则在类上加上特性APINotNeedToken。 (nt == || (!
</span><span style="color: #008000;">//</span><span style="color: #008000;"> 根据token获取用户信息 </span>
<span style="color: #0000ff;">var</span> user =<span style="color: #000000;"> GetUser(req.token) ;
</span><span style="color: #0000ff;">if</span> (user == <span style="color: #0000ff;">null</span><span style="color: #000000;">)
{
</span><span style="color: #008000;">//</span><span style="color: #008000;"> 判断Token是否失效</span>
<span style="color: #0000ff;">throw</span> <span style="color: #0000ff;">new</span> APIException(<span style="color: #800080;">200</span>,<span style="color: #800000;">"</span><span style="color: #800000;">Token失效。</span><span style="color: #800000;">"</span><span style="color: #000000;">);
}
req.APIWorkContext </span>= <span style="color: #0000ff;">new</span><span style="color: #000000;"> APIWorkContext();
req.APIWorkContext.UserId </span>=<span style="color: #000000;"> Convert.ToInt32(user.user_id);
req.APIWorkContext.UserEmail </span>=<span style="color: #000000;"> user.email;
}</span></pre>
?然后可以在每个接口类中的Process方法中获取到UserId,UserEmail等
userId = WorkContext.UserId;
三、实现不同的时间格式如果需要实现不同的时间格式,如不用时间戳,自定义格式为:yyyy-MM-dd HH:mm:ss,继承类DateTimeConverterBase,并实现ReadJson和WriteJson两个方法。并在返回时设置时间格式。 1、在代码Main中的100行中更改代码
jsonSettings = JsonSerializerSettings { NullValueHandling =
jsonSettings.Converters.Add(UnixDateTimeConverter为自定义时间类型。
?? 源码地址: ?? (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net – Silverlight初始化错误2110 Internet Explorer
- 二进制数据的序列化反序列化和Json的序列化反序列化的重要区
- asp.net可用性日历显示全年
- 可以将图像添加到ASP.NET按钮吗?
- asp.net-mvc – 使ASP.MVC2/VS2010应用程序在IIS 7.5中工作
- 是否可以优化ASP.NET WebForms以便像ASP.NET MVC一样快速执
- asp.net-mvc – ASP.NET MVC模型在编辑器模板中绑定IList
- asp.net-mvc – 如何填充/验证您的ViewModels?
- asp.net-mvc-3 – 在下拉列表中更改值时的页面重定向
- asp.net-mvc-3 – MVC3 OutputCache无法按预期在Server和Cl
- 在asp.net中发布回发和浏览器后退按钮问题
- 十七点学完安全知识超级详细了解进程和病毒知识
- asp-classic – 如何在asp页面中以编程方式301重
- asp.net-mvc – ASP.NET MVC的Windows Azure存储
- ASP.net MVC路由:使用QueryStrings是一种好的风
- asp.net – 在运行时更改SqlDataSource.SelectCo
- asp.net-mvc – web.config中的表单身份验证
- asp.net-mvc-3 – Asp.Net MVC 3自定义WebViewPa
- asp.net – 为什么VS 2008 SP1不允许我编辑globa
- 在ASP.Net MVC中控制JsonResult中的序列化器也称