本公開涉及軟件開發(fā),尤其涉及一種應(yīng)用程序編程接口的調(diào)用方法、調(diào)用的處理方法及裝置。
背景技術(shù):
1、通常應(yīng)用程序編程接口調(diào)用和處理強依賴應(yīng)用程序編程接口落地場景的運行環(huán)境,進而導致不同場景(開發(fā)方案和/或宿主應(yīng)用)之間難以進行復(fù)用,需要針對分別針對不同場景進行api的開發(fā)。
技術(shù)實現(xiàn)思路
1、有鑒于此,本公開實施例提供了一種api的調(diào)用方法、api調(diào)用的處理方法及裝置,用于實現(xiàn)api的多場景共用。
2、為了實現(xiàn)上述目的,本公開實施例提供技術(shù)方案如下:
3、第一方面,本公開的實施例提供了一種api的調(diào)用方法,包括:
4、生成調(diào)用端api運行環(huán)境;
5、向api處理端發(fā)送api調(diào)用請求和所述調(diào)用端api運行環(huán)境,以使所述api處理端通過所述調(diào)用端api運行環(huán)境處理所述api調(diào)用請求,獲取所述api調(diào)用請求對應(yīng)的api調(diào)用響應(yīng);
6、接收所述api處理端發(fā)送的所述api調(diào)用請求對應(yīng)的api調(diào)用響應(yīng)。
7、作為本技術(shù)實施例一種可選的實施方式,所述生成調(diào)用端api運行環(huán)境,包括:
8、確定基礎(chǔ)能力集合,所述基礎(chǔ)能力集合包括所述api調(diào)用端處理接收到的api調(diào)用時所依賴各個基礎(chǔ)能力;
9、在所述調(diào)用端api運行環(huán)境中添加所述基礎(chǔ)能力集合中的各個基礎(chǔ)能力對應(yīng)的能力調(diào)用接口;
10、其中,任一能力調(diào)用接口用于從預(yù)設(shè)軟件開發(fā)工具包sdk中調(diào)用對應(yīng)的基礎(chǔ)能力,所述預(yù)設(shè)sdk中包括所述基礎(chǔ)能力集合中的各個基礎(chǔ)能力。
11、作為本技術(shù)實施例一種可選的實施方式,在生成所述調(diào)用端api運行環(huán)境之前,對所述預(yù)設(shè)sdk進行基礎(chǔ)能力的注入。
12、作為本技術(shù)實施例一種可選的實施方式,所述生成調(diào)用端api運行環(huán)境,包括:
13、確定業(yè)務(wù)邏輯集合,所述業(yè)務(wù)邏輯集合包括所述api調(diào)用端處理接收到的api調(diào)用時所依賴各個業(yè)務(wù)邏輯;
14、在所述調(diào)用端api運行環(huán)境中添加所述業(yè)務(wù)邏輯集合中的各個業(yè)務(wù)邏輯對應(yīng)的邏輯調(diào)用接口;
15、其中,任一邏輯調(diào)用接口用于從所述api調(diào)用端對應(yīng)的業(yè)務(wù)邏輯提供器中調(diào)用對應(yīng)的業(yè)務(wù)邏輯,所述業(yè)務(wù)邏輯提供器中包括所述業(yè)務(wù)邏輯集合中的各個業(yè)務(wù)邏輯。
16、作為本技術(shù)實施例一種可選的實施方式,在生成所述調(diào)用端api運行環(huán)境之前,向所述api調(diào)用端對應(yīng)的業(yè)務(wù)邏輯提供器中注入所述業(yè)務(wù)邏輯集合中的各個業(yè)務(wù)邏輯。
17、作為本技術(shù)實施例一種可選的實施方式,所述生成調(diào)用端api運行環(huán)境,包括:
18、根據(jù)所述api調(diào)用請求依賴的調(diào)用信息,生成所述api調(diào)用請求對應(yīng)的調(diào)用信息依賴;
19、在所述調(diào)用端api運行環(huán)境中添加所述調(diào)用信息依賴中的各個調(diào)用信息對應(yīng)的信息調(diào)用接口,并向所述api處理端發(fā)送所述調(diào)用信息依賴。
20、作為本技術(shù)實施例一種可選的實施方式,所述調(diào)用信息依賴還包括:
21、api名稱、api參數(shù)、指示信息、異步api執(zhí)行調(diào)度器以及異步api回調(diào)執(zhí)行器中的至少一個。
22、作為本技術(shù)實施例一種可選的實施方式,所述向api處理端發(fā)送api調(diào)用請求和所述調(diào)用端api運行環(huán)境,包括:
23、將所述調(diào)用端api運行環(huán)境注入所述api調(diào)用請求對應(yīng)的調(diào)用信息依賴中;
24、向所述api處理端發(fā)送所述api調(diào)用請求和所述api調(diào)用請求對應(yīng)的調(diào)用信息依賴。
25、第二方面,本公開的實施例提供了一種api調(diào)用的處理方法,包括:
26、接收api調(diào)用端發(fā)送的api調(diào)用請求和調(diào)用端api運行環(huán)境;
27、通過所述調(diào)用端api運行環(huán)境對所述api調(diào)用請求進行處理,獲取所述api調(diào)用請求對應(yīng)的api調(diào)用響應(yīng);
28、向所述api調(diào)用端發(fā)送所述api調(diào)用請求對應(yīng)的api調(diào)用響應(yīng)。
29、作為本技術(shù)實施例一種可選的實施方式,在通過所述調(diào)用端api運行環(huán)境對所述api調(diào)用請求進行處理,獲取所述api調(diào)用請求對應(yīng)的api調(diào)用響應(yīng)之前,所述方法還包括:
30、在所述api處理端中注入預(yù)設(shè)軟件開發(fā)工具包sdk;
31、其中,所述預(yù)設(shè)sdk中包括所述api調(diào)用端處理接收到的api調(diào)用時所依賴的各個基礎(chǔ)能力。
32、作為本技術(shù)實施例一種可選的實施方式,在通過所述調(diào)用端api運行環(huán)境對所述api調(diào)用請求進行處理,獲取所述api調(diào)用請求對應(yīng)的api調(diào)用響應(yīng)之前,所述方法還包括:
33、在所述api處理端中注入所述api調(diào)用端對應(yīng)的業(yè)務(wù)邏輯提供器;
34、其中,所述api調(diào)用端對應(yīng)的業(yè)務(wù)邏輯提供器中包括所述api調(diào)用端處理接收到的api調(diào)用時所依賴的各個業(yè)務(wù)邏輯。
35、作為本技術(shù)實施例一種可選的實施方式,所述接收api調(diào)用端發(fā)送的api調(diào)用請求和調(diào)用端api運行環(huán)境,包括:
36、接收所述api調(diào)用端發(fā)送的所述api調(diào)用請求和所述api調(diào)用請求對應(yīng)的調(diào)用信息依賴;
37、從所述調(diào)用信息依賴中提取所述調(diào)用端api運行環(huán)境。
38、作為本技術(shù)實施例一種可選的實施方式,所述調(diào)用信息依賴中還包括:
39、api名稱、api參數(shù)、指示信息、異步api執(zhí)行調(diào)度器以及異步api回調(diào)執(zhí)行器中的至少一個。
40、作為本技術(shù)實施例一種可選的實施方式,所述通過所述調(diào)用端api運行環(huán)境對所述api調(diào)用請求進行處理,獲取所述api調(diào)用請求對應(yīng)的api調(diào)用響應(yīng),包括:
41、獲取所述調(diào)用信息依賴中的api名稱;
42、根據(jù)所述api名稱確定用于處理所述api調(diào)用請求的api處理器;
43、通過所述api處理器對所述api調(diào)用請求進行處理,獲取所述api調(diào)用請求調(diào)用對應(yīng)的api調(diào)用響應(yīng)。
44、作為本技術(shù)實施例一種可選的實施方式,所述api處理器繼承自同步api處理器,且實現(xiàn)了異步api處理器處理異步api的方法;所述通過所述api處理器對所述api調(diào)用請求進行處理,獲取所述api調(diào)用請求調(diào)用對應(yīng)的api調(diào)用響應(yīng),包括:
45、當確定所述api調(diào)用請求用于調(diào)用同步api時,控制所述api處理器通過異步api的方法處理所述api調(diào)用請求,獲取所述api調(diào)用請求調(diào)用對應(yīng)的api調(diào)用響應(yīng);
46、當確定所述api調(diào)用請求用于調(diào)用異步api時,控制所述api處理器通過異步api的方法處理所述api調(diào)用請求,獲取所述api調(diào)用請求調(diào)用對應(yīng)的api調(diào)用響應(yīng)。
47、第三方面,本公開實施例提供一種api的調(diào)用裝置,包括:
48、生成單元,用于生成調(diào)用端api運行環(huán)境;
49、發(fā)送單元,用于向api處理端發(fā)送api調(diào)用請求和所述調(diào)用端api運行環(huán)境,以使所述api處理端通過所述調(diào)用端api運行環(huán)境處理所述api調(diào)用請求,獲取所述api調(diào)用請求對應(yīng)的api調(diào)用響應(yīng);
50、接收單元,用于接收所述api處理端發(fā)送的所述api調(diào)用請求對應(yīng)的api調(diào)用響應(yīng)。
51、作為本技術(shù)實施例一種可選的實施方式,所述生成單元,具體用于確定基礎(chǔ)能力集合,所述基礎(chǔ)能力集合包括所述api調(diào)用端處理接收到的api調(diào)用時所依賴各個基礎(chǔ)能力;在所述調(diào)用端api運行環(huán)境中添加所述基礎(chǔ)能力集合中的各個基礎(chǔ)能力對應(yīng)的能力調(diào)用接口;
52、其中,任一能力調(diào)用接口用于從預(yù)設(shè)軟件開發(fā)工具包sdk中調(diào)用對應(yīng)的基礎(chǔ)能力,所述預(yù)設(shè)sdk中包括所述基礎(chǔ)能力集合中的各個基礎(chǔ)能力。
53、作為本技術(shù)實施例一種可選的實施方式,所述發(fā)送單元,還用于在生成所述調(diào)用端api運行環(huán)境之前,對所述預(yù)設(shè)sdk進行基礎(chǔ)能力的注入。
54、作為本技術(shù)實施例一種可選的實施方式,所述生成單元,具體用于確定業(yè)務(wù)邏輯集合,所述業(yè)務(wù)邏輯集合包括所述api調(diào)用端處理接收到的api調(diào)用時所依賴各個業(yè)務(wù)邏輯;在所述調(diào)用端api運行環(huán)境中添加所述業(yè)務(wù)邏輯集合中的各個業(yè)務(wù)邏輯對應(yīng)的邏輯調(diào)用接口;
55、其中,任一邏輯調(diào)用接口用于從所述api調(diào)用端對應(yīng)的業(yè)務(wù)邏輯提供器中調(diào)用對應(yīng)的業(yè)務(wù)邏輯,所述業(yè)務(wù)邏輯提供器中包括所述業(yè)務(wù)邏輯集合中的各個業(yè)務(wù)邏輯。
56、作為本技術(shù)實施例一種可選的實施方式,所述發(fā)送單元,還用于在生成所述調(diào)用端api運行環(huán)境之前,向所述api調(diào)用端對應(yīng)的業(yè)務(wù)邏輯提供器中注入所述業(yè)務(wù)邏輯集合中的各個業(yè)務(wù)邏輯。
57、作為本技術(shù)實施例一種可選的實施方式,所述生成單元,具體用于根據(jù)所述api調(diào)用請求依賴的調(diào)用信息,生成所述api調(diào)用請求對應(yīng)的調(diào)用信息依賴;在所述調(diào)用端api運行環(huán)境中添加所述調(diào)用信息依賴中的各個調(diào)用信息對應(yīng)的信息調(diào)用接口,并向所述api處理端發(fā)送所述調(diào)用信息依賴。
58、作為本技術(shù)實施例一種可選的實施方式,所述調(diào)用信息依賴還包括:
59、api名稱、api參數(shù)、指示信息、異步api執(zhí)行調(diào)度器以及異步api回調(diào)執(zhí)行器中的至少一個。
60、作為本技術(shù)實施例一種可選的實施方式,所述發(fā)送單元,具體用于將所述調(diào)用端api運行環(huán)境注入所述api調(diào)用請求對應(yīng)的調(diào)用信息依賴中以及向所述api處理端發(fā)送所述api調(diào)用請求和所述api調(diào)用請求對應(yīng)的調(diào)用信息依賴。
61、第四方面,本公開實施例提供一種api調(diào)用的處理裝置,包括:
62、接收單元,用于接收api調(diào)用端發(fā)送的api調(diào)用請求和調(diào)用端api運行環(huán)境;
63、處理單元,用于通過所述調(diào)用端api運行環(huán)境對所述api調(diào)用請求進行處理,獲取所述api調(diào)用請求對應(yīng)的api調(diào)用響應(yīng);
64、發(fā)送單元,用于向所述api調(diào)用端發(fā)送所述api調(diào)用請求對應(yīng)的api調(diào)用響應(yīng)。
65、作為本公開實施例一種可選的實施方式,所述處理單元,還用于在通過所述調(diào)用端api運行環(huán)境對所述api調(diào)用請求進行處理,獲取所述api調(diào)用請求對應(yīng)的api調(diào)用響應(yīng)之前,在所述api處理端中注入預(yù)設(shè)軟件開發(fā)工具包sdk;
66、其中,所述預(yù)設(shè)sdk中包括所述api調(diào)用端處理接收到的api調(diào)用時所依賴的各個基礎(chǔ)能力。
67、作為本公開實施例一種可選的實施方式,所述處理單元,還用于在通過所述調(diào)用端api運行環(huán)境對所述api調(diào)用請求進行處理,獲取所述api調(diào)用請求對應(yīng)的api調(diào)用響應(yīng)之前,在所述api處理端中注入所述api調(diào)用端對應(yīng)的業(yè)務(wù)邏輯提供器;
68、其中,所述api調(diào)用端對應(yīng)的業(yè)務(wù)邏輯提供器中包括所述api調(diào)用端處理接收到的api調(diào)用時所依賴的各個業(yè)務(wù)邏輯。
69、作為本公開實施例一種可選的實施方式,所述接收單元,具體用于接收所述api調(diào)用端發(fā)送的所述api調(diào)用請求和所述api調(diào)用請求對應(yīng)的調(diào)用信息依賴;從所述調(diào)用信息依賴中提取所述調(diào)用端api運行環(huán)境。
70、作為本公開實施例一種可選的實施方式,所述調(diào)用信息依賴中還包括:
71、api名稱、api參數(shù)、指示信息、異步api執(zhí)行調(diào)度器以及異步api回調(diào)執(zhí)行器中的至少一個。
72、作為本公開實施例一種可選的實施方式,所述處理單元,具體用于獲取所述調(diào)用信息依賴中的api名稱根據(jù)所述api名稱確定用于處理所述api調(diào)用請求的api處理器;通過所述api處理器對所述api調(diào)用請求進行處理,獲取所述api調(diào)用請求調(diào)用對應(yīng)的api調(diào)用響應(yīng)。
73、作為本公開實施例一種可選的實施方式,所述api處理器繼承自同步api處理器,且實現(xiàn)了異步api處理器處理異步api的方法;
74、所述處理單元,具體用于當確定所述api調(diào)用請求用于調(diào)用同步api時,控制所述api處理器通過異步api的方法處理所述api調(diào)用請求,獲取所述api調(diào)用請求調(diào)用對應(yīng)的api調(diào)用響應(yīng);當確定所述api調(diào)用請求用于調(diào)用異步api時,控制所述api處理器通過異步api的方法處理所述api調(diào)用請求,獲取所述api調(diào)用請求調(diào)用對應(yīng)的api調(diào)用響應(yīng)。
75、第五方面,本公開實施例提供一種電子設(shè)備,包括:存儲器和處理器,所述存儲器用于存儲計算機程序所述處理器用于在執(zhí)行計算機程序時,使得所述電子設(shè)備實現(xiàn)上述任一實施方式所述的api的調(diào)用方法或api調(diào)用的處理方法。
76、第六方面,本公開實施例提供一種計算機可讀存儲介質(zhì),當所述計算機程序被計算設(shè)備執(zhí)行時,使得所述計算設(shè)備實現(xiàn)上述任一實施方式所述的api的調(diào)用方法或api調(diào)用的處理方法。
77、第七方面,本公開實施例提供一種計算機程序產(chǎn)品,當所述計算機程序產(chǎn)品在計算機上運行時,使得所述計算機實現(xiàn)上述任一實施方式所述的api的調(diào)用方法或api調(diào)用的處理方法。
78、本公開實施例提供的api的調(diào)用方法和api調(diào)用處理方法中,api調(diào)用端會對自身處理接收到的api調(diào)用的邏輯進行包裝生成調(diào)用端api運行環(huán)境,并在向api處理端發(fā)送api調(diào)用請求時,向api處理端發(fā)送所述調(diào)用端api運行環(huán)境,因此api處理端可以通過調(diào)用端api運行環(huán)境對api調(diào)用端發(fā)送的api調(diào)用請求進行處理,以獲取所述api調(diào)用請求對應(yīng)的api調(diào)用響應(yīng),并向api調(diào)用端發(fā)送所述api調(diào)用請求對應(yīng)的api調(diào)用響應(yīng)。由于通過本技術(shù)實施例提供的api的調(diào)用方法和api調(diào)用處理方法中api調(diào)用的處理是通過api調(diào)用端發(fā)送的調(diào)用端api運行環(huán)境實現(xiàn)的,不依賴特定的落地場景,因此本技術(shù)實施例可以保證處理api調(diào)用的功能模塊的獨立性,進而實現(xiàn)api支持多場景共用。