System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及外围接口调用,特别涉及一种通过配置模板调用三方接口的方法。
技术介绍
1、随着计算机技术的发展,当前系统间数据交互越来越多。一个系统的运行往往需要很多外围系统的数据支撑,这就需要对外围系统接口调用功能进行开发。
2、现阶段主要有两种方式,一种是在业务系统中直接调用外围接口,一种是通过数据平台获取数据。
3、然而,在业务系统中直接调用则需要额外开发很多的接口,且接口也无法形成统一管理,容易混乱。如果系统要移植到其他项目现场,还要做大量的重复开发工作,开发成本比较大。通过数据平台获取数据虽然能避免上述部分问题,但是也带来的新的问题,数据平台一般比较重,需要有专人维护,对于系统开发团队来说一般是不透明的,也不能做到完全可控,一旦数据平台出现问题,则对系统的影响很大的。况且数据平台的对接开发成本也未必小。因此,如何使业务系统和外围接口调用功能松耦合,能对外围接口统一管理并实现轻量化,使外围接口调用功能完全可控是目前亟需解决的问题。
4、基于上述情况,本专利技术提出了一种通过配置模板调用三方接口的方法。
技术实现思路
1、本专利技术为了弥补现有技术的缺陷,提供了一种简单高效的通过配置模板调用三方接口的方法。
2、本专利技术是通过如下技术方案实现的:
3、一种通过配置模板调用三方接口的方法,其特征在于:使用适配器的设计模式,使用模板引擎thymeleaf配置三方接口请求报文模板、适配器接口返回报文模板和mock(模拟)报
4、包括以下步骤:
5、步骤s1、对适配器接口进行定义与配置
6、步骤s1.1、在适配器系统中为每一个接口分别定义一个接口编号,为trcode;
7、步骤s1.2、发送请求工具,将http请求、socket请求与webservice请求方式的实现写到不同的类中,并在配置文件中配置为不同的been;
8、步骤s1.3、将所有外围接口的列表放入接口配置文件中,配置项包括接口编号、是否mock和外围系统配置id信息;
9、步骤s1.4、针对每个接口定义请求报文模板、返回报文模板和mokc报文模板;
10、步骤s1.5、定义接口报文转换工具和报文处理工具类;
11、步骤s2、三方接口调用
12、步骤s2.1、业务系统调用适配器接口,适配器根据业务系统的请求报文获取配置文件信息;
13、步骤s2.2、适配器根据配置文件信息判断是否走mock,若走mock,则加载mock模板,并直接返回;若不走mock,则跳转步骤s2.3;
14、步骤s2.3、适配器进行报文转换,将业务系统的请求报文通过模板转换为三方接口的请求报文,并从配置信息中读取目标接口的地址和发送请求工具的bean名称;然后适配器向三方接口发送请求,并接收三方接口的返回信息;
15、适配器读取返回报文模板,并根据返回报文模板进行报文转换,将三方接口返回信息转换为适配器返回报文,并将报文返回给业务系统。
16、所述步骤s1.1中,自定义注解标识每个接口,自定义注解格式为:@adapterservice(serviceid="",desc=""),其中serviceid为接口编号,为必须输入项;desc为接口描述,为选填项;同时,还要定义每个接口的出参入参实体类,以用来标准化每个接口。
17、所述步骤s1.2中,发送请求工具所,支持自定义的过滤器或拦截器,以满足接口的个性化需求。
18、所述步骤s1.3中,针对每个外围系统,有一个外围系统列表的配置文件,外围系统配置信息包含一个配置id、目标地址和发送请求用的been;针对每个适配器接口,有一个接口列表的配置文件,将每个适配器接口配置到接口列表中,每个适配器接口的配置信息包含接口编号、是否mock和外围系统配置id。
19、所述步骤s1.4中,使用模板引擎thymeleaf,针对每个接口设置请求报文模板、返回报文模板和mock报文模板;
20、请求报文模板、返回报文模板和mock报文模板中需要引用参数变量的地方,用${var.*}替换,其中“*”为适配器接受到参数中的属性名称。
21、所述步骤s1.5中,接口报文转换工具采用templateengine和classloadertemplateresolver两个工具加载模板,采用context工具设置模板属性,将适配器接收到的业务系统请求报文通过请求报文模板转换为三方接口的请求报文,将三方接口返回报文通过返回报文模板转换为业务系统所需的返回报文;
22、所述报文处理工具类用于对报文进行时间格式转换,以及字符串和数字之间互转;将报文处理工具类的对象在模板加载时一并放入模板属性中。
23、所述步骤s2.1中,业务系统需要调用三方接口时,只需要调用适配器接口,在请求报文的header中增加一个变量trcode,trcode的值为适配器接口的接口编号;
24、适配器接收到业务系统的请求报文后,根据trcode值读取适配器接口的基本信息和外围系统的配置信息。
25、所述步骤s2.3中,适配器将接收到的参数转换为object对象,并根据trcode值加载请求报文模板,使用报文转换工具将接收到的参数填充到请求报文模板中,根据配置信息调用发送请求的been,发送三方接口请求;
26、适配器根据配置信息选择发送请求工具,并从配置信息中读取目标接口的地址,将填充后的请求报文模板作为参数,通过发送请求工具发送请求,调用三方接口;
27、三方接口返回数据到适配器,适配器将三方接口返回数据转换为object对象,然后适配器根据接口的配置信息加载返回报文模板,将三方接口返回的数据填充到返回报文模板中,并将填充后的返回报文模板返给业务系统。
28、一种通过配置模板调用三方接口的设备,其特征在于:包括存储器和处理器;所述存储器用于存储计算机程序,所述处理器用于执行所述计算机程序时实现如上所述的方法步骤。
29、一种可读存储介质,其特征在于:所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的方法步骤。
30、本专利技术的有益效果是:该通过配置模板调用三方接口的方法,将三方接口的调用和业务代码分开,提高了业务代码的复用性和系统的灵活性,能够对外围接口进行统一管理,提高了调用三方接口的开发效率,降低了调用三方接口功能的开发难度。
本文档来自技高网...【技术保护点】
1.一种通过配置模板调用三方接口的方法,其特征在于:使用适配器的设计模式,使用模板引擎Thymeleaf配置三方接口请求报文模板、适配器接口返回报文模板和mock报文模板,调用三方接口时只需要调用适配器接口,通过适配器调用三方接口;
2.根据权利要求1所述的通过配置模板调用三方接口的方法,其特征在于:所述步骤S1.1中,自定义注解标识每个接口,自定义注解格式为:@AdapterService(serviceId="",desc=""),其中serviceId为接口编号,为必须输入项;desc为接口描述,为选填项;同时,还要定义每个接口的出参入参实体类,以标准化每个接口。
3.根据权利要求1所述的通过配置模板调用三方接口的方法,其特征在于:所述步骤S1.2中,发送请求工具所,支持自定义的过滤器或拦截器,以满足接口的个性化需求。
4.根据权利要求1所述的通过配置模板调用三方接口的方法,其特征在于:所述步骤S1.3中,针对每个外围系统,有一个外围系统列表的配置文件,外围系统配置信息包含一个配置id、目标地址和发送请求用的been;针对每个适配器接口,
5.根据权利要求1所述的通过配置模板调用三方接口的方法,其特征在于:所述步骤S1.4中,使用模板引擎Thymeleaf,针对每个接口设置请求报文模板、返回报文模板和mock报文模板;
6.根据权利要求1所述的通过配置模板调用三方接口的方法,其特征在于:所述步骤S1.5中,接口报文转换工具采用TemplateEngine和ClassLoaderTemplateResolver两个工具加载模板,采用Context工具设置模板属性,将适配器接收到的业务系统请求报文通过请求报文模板转换为三方接口的请求报文,将三方接口返回报文通过返回报文模板转换为业务系统所需的返回报文;
7.根据权利要求1所述的通过配置模板调用三方接口的方法,其特征在于:所述步骤S2.1中,业务系统需要调用三方接口时,只需要调用适配器接口,在请求报文的header中增加一个变量trCode,trCode的值为适配器接口的接口编号;
8.根据权利要求1所述的通过配置模板调用三方接口的方法,其特征在于:所述步骤S2.3中,适配器将接收到的参数转换为Object对象,并根据trCode值加载请求报文模板,使用报文转换工具将接收到的参数填充到请求报文模板中,根据配置信息调用发送请求的been,发送三方接口请求;
9.一种通过配置模板调用三方接口的设备,其特征在于:包括存储器和处理器;所述存储器用于存储计算机程序,所述处理器用于执行所述计算机程序时实现如权利要求1至8任意一项所述的方法步骤。
10.一种可读存储介质,其特征在于:所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至8任意一项所述的方法步骤。
...【技术特征摘要】
1.一种通过配置模板调用三方接口的方法,其特征在于:使用适配器的设计模式,使用模板引擎thymeleaf配置三方接口请求报文模板、适配器接口返回报文模板和mock报文模板,调用三方接口时只需要调用适配器接口,通过适配器调用三方接口;
2.根据权利要求1所述的通过配置模板调用三方接口的方法,其特征在于:所述步骤s1.1中,自定义注解标识每个接口,自定义注解格式为:@adapterservice(serviceid="",desc=""),其中serviceid为接口编号,为必须输入项;desc为接口描述,为选填项;同时,还要定义每个接口的出参入参实体类,以标准化每个接口。
3.根据权利要求1所述的通过配置模板调用三方接口的方法,其特征在于:所述步骤s1.2中,发送请求工具所,支持自定义的过滤器或拦截器,以满足接口的个性化需求。
4.根据权利要求1所述的通过配置模板调用三方接口的方法,其特征在于:所述步骤s1.3中,针对每个外围系统,有一个外围系统列表的配置文件,外围系统配置信息包含一个配置id、目标地址和发送请求用的been;针对每个适配器接口,有一个接口列表的配置文件,将每个适配器接口配置到接口列表中,每个适配器接口的配置信息包含接口编号、是否mock和外围系统配置id。
5.根据权利要求1所述的通过配置模板调用三方接口的方法,其特征在于:所述步骤s1.4中,使用模板引擎thymeleaf,针对每个接口设置请求报文模板、返回报文模板和...
【专利技术属性】
技术研发人员:王慎鹏,白玉坤,周政,
申请(专利权)人:山东浪潮新基建科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。