惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Hugging Face - Blog
Hugging Face - Blog
Vercel News
Vercel News
C
Check Point Blog
G
Google Developers Blog
博客园 - 司徒正美
量子位
Engineering at Meta
Engineering at Meta
S
SegmentFault 最新的问题
Google DeepMind News
Google DeepMind News
F
Fortinet All Blogs
A
About on SuperTechFans
美团技术团队
D
DataBreaches.Net
Stack Overflow Blog
Stack Overflow Blog
Jina AI
Jina AI
Y
Y Combinator Blog
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Apple Machine Learning Research
Apple Machine Learning Research
J
Java Code Geeks
MongoDB | Blog
MongoDB | Blog
人人都是产品经理
人人都是产品经理
H
Hackread – Cybersecurity News, Data Breaches, AI and More
The Cloudflare Blog
U
Unit 42

博客园 - 愚

Revit:二开使用Sqlite保存本地数据,并配合EF6等ORM框架 Revity:查找并修改类型参数和实例参数 复习一下UML Revit:ElementFilter过滤器基类 Revit:Element、Reference、ReferenceIntersector、ReferenceWithContext的理解 Revit:使用代码如何发出选点、选对象指令 Reivt:过滤器FilteredElementIterator,采集器FilteredElementCollector Revit:Transaction事务 Revit:弄清楚Application、UIApplication、UIDocument 、Document、DocumentSet之间的关系 Revit:IExternalCommand和IExternalApplication的区别 什么是假程序员 若我有一天 聊聊面试官那些事。。分享我的个人看法,认同的顶一顶。。。 提供一个中国身份证号码判断的类 分享一个自己写的取中国农历相关数据的类。包含:农历年月日,生肖,星座,年龄,天干,地支等方法 从结亲网 的架构谈起,谈什么架构, 我理解的架构。我想很多人理解的架构应该可能比较 狭义 面向对象的全套“企业微信”api接口的代码实现,网上太多“面向过程”微信api接口的代码,这个开源给需要的人用 解决:百度编辑器UEditor,怎么将图片保存到图片服务器,或者上传到ftp服务器的问题(如果你正在用UE,这篇文章值得你看下) (原创)面向对象的系统对接接口编写。第5篇(完结)
(原创)面向对象的系统对接接口编写。第4篇
· 2016-02-28 · via 博客园 - 愚

接上一篇: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=xxx

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

(原创)多系统间需要对接,我写了一个接口框架。实用性非常强,写出来大家交流。需要的可以直接搬过去用。(第1篇) http://www.cnblogs.com/mazhiyuan/p/5224046.html

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

(原创)面向对象的系统对接接口编写。第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.html

如果看完,有不明白的可以评论发给我。

真的很好用的。。有需要做接口的同学。。可以把整个框架拿去用下。

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