(原创)面向对象的系统对接接口编写。第4篇 (原创)多系统间须要对接,我写了一个接口框架。实用性很是强,写出来你们交流。须要的能够直接搬过去用。(第1篇) (原创)面向对象的系统对接接口编写。第2篇

接上一篇:http://www.cnblogs.com/mazhiyuan/p/5224050.html

这篇开始写Post和Get请求的布局。

咱们就以新闻模块来举例吧。其它的模块,好比用户啦,好比音频模块啦,依样画葫芦,都同样的。

图片

先建立一个新闻模块的文件夹。咱们叫“News"

图片
而后,如上图1,2,3共三个红圈。建立这3个文件。

咱们先讲第2件文件:CommandType.cs
图片

CommandType.cs文件,如上图。他就是一个枚举。里面定义了各类业务逻辑。好比里面有”添加新闻动态“。在这里,咱们就以添加新闻动态为例子。
要注意的是:咱们给添加新闻动态起的名字叫:AddAppNews ,那么这个名字。必需要有一个相应的.cs文件。不是随便乱写的。

还记得上面有张图,里面有3个红圈吗?其中第1个红圈的名字,就叫AddAppNews.cs。这里要注意名字必须一致。那有人会问了,为何啊?由于咱们这里用到了反射技术。到时候会将这个名字反射为一个真实的.cs文件。。因此必须同样。若是不同,就反射不到了。





下面讲Index.cs文件。也就红圈中的第3个:
图片

代码细说,里面用到了单例模式。。关于单例模式,我就不解释他的代码了。就这么简单:如上图的第12行到第19行,就是单例模式的全部代码。共7行。

public BaseCommand CreateCommandInstance(CommandType type)    这个方法用到了反射技术。上面的CommandType.cs的枚举命名,就是用在这里了。到时候会在这里反射。




下面讲具体业务:AddAppNews.cs文件:
图片

代码细说下:
public class AddAppNews : Post    添加新闻,咱们用的是POS请求,因此要继承POST基类。
public AddAppNews() { }    构造函数必须是public,只有这样,才能反射成功。
public override void Excute()    实现基类的业务方法Excute()
AppNews appNews = this.Deserialize<AppNews>();    这里用到了基类Post.cs中的protected T Deserialize<T>()方法。还记得这个方法吗?不记得就回过去看一下。





上面讲的是POST请求的业务处理。下面列一个GET请求的处理。
好比咱们要取新闻。咱们就讲一下取新闻的GET请求。
图片

代码方法,和Post请求的业务逻辑,好比AddAppNews.cs是相似的。
所不一样的是:
string userIdReq = this.Input["UserID"];    他是用这种方式来处理传递过来的参数。好比get请求时,请求端发了一个UserID的参数。一般请求的url会是这样子的:http://www....com/News.aspx?UserID=xxxhtml

 

 

 

当你愿意看到这里时,后续还有4篇:下面是连接:app

(原创)多系统间须要对接,我写了一个接口框架。实用性很是强,写出来你们交流。须要的能够直接搬过去用。(第1篇) http://www.cnblogs.com/mazhiyuan/p/5224046.html框架

(原创)面向对象的系统对接接口编写。第2篇 http://www.cnblogs.com/mazhiyuan/p/5224049.htmlide

(原创)面向对象的系统对接接口编写。第3篇 http://www.cnblogs.com/mazhiyuan/p/5224050.html函数

(原创)面向对象的系统对接接口编写。第4篇 http://www.cnblogs.com/mazhiyuan/p/5224054.html布局

(原创)面向对象的系统对接接口编写。第5篇(完结) http://www.cnblogs.com/mazhiyuan/p/5224056.htmlpost

 

若是看完,有不明白的能够评论发给我。this

 

真的很好用的。。有须要作接口的同窗。。能够把整个框架拿去用下。url

 

 

提供源码下载,请点击:源码3d

相关文章
相关标签/搜索
本站公众号
   欢迎关注本站公众号,获取更多信息
相关文章