博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ABP源码分析三十七:ABP.Web.Api Script Proxy API
阅读量:7283 次
发布时间:2019-06-30

本文共 1412 字,大约阅读时间需要 4 分钟。

ABP提供Script Proxy WebApi为所有的Dynamic WebApi生成访问这些WebApi的JQuery代理,AngularJs代理以及TypeScriptor代理。这些个代理就是javascript脚本,通过这些代理可以简单的访问Dynamic webApi。

如下实例演示一个最基本的应用场景。首先通过Script Proxy WebApi获取所有Dynamic WebApiangular 代理。

 

假设你有一个ApplicationService如下,并且你为该ApplicationService创建了动态的WebApi

 

那么在ABP框架下,你可以使用如下简单的Js完成WebApi的调用。


 

PlainTextFormatter:自定义的针对"text/plain"的媒体格式化器。服务器端通过WebApi返回给客户端的Javascript脚本时所使用的媒体格式化器。

 

IScriptProxyGenerator:定义了一个generate方法用于生成访问Dynamic WebApi的代理,所谓代理就是一段js代码。

JQueryProxyGenerator:根据DynamicApiControllerInfo生成访问Dynamic WebApi方法的JQuery代理。

JQueryActionScriptGenerator:根据DynamicApiControllerInfo,DynamicApiActionInfo生成访问这个Dynamic WebApi 的特定Action方法的JQuery代理。

AngularProxyGenerator:根据DynamicApiControllerInfo生成访问Dynamic WebApi方法的AngularJs代理。

AngularActionScriptWriter:根据DynamicApiControllerInfo,DynamicApiActionInfo生成访问这个Dynamic WebApi 的特定Action方法的AngularJs代理。

 

TypeScriptController: 这个API为系统中所有的DynamicApiControllerInfo生成TypeScriptor代理。返回给客户端的结果 是一段TypeScriptor脚本。由于TypeScriptor无法在浏览器中直接运行。所以作者此处的用意实在不明白。 个人猜测这些TypeScriptor脚本是为更近一步开发所准备的。

 

 

AbpServiceProxiesController:这个就是向外提供JQuery代理,AngularJs代理脚本的webAPI了。其有两个方法:get方法根据具体的某个controllerName返回该controller的代理。 getALL则返回所有DynamicAPI的代理。

 

ScriptProxyManager:单例对象,封装了一个字典对象IDictionary<string, ScriptInfo> CachedScripts用于缓存生成的JQuery代理,AngularJs代理脚本。AbpServiceProxiesController通过调用ScriptProxyManager的方法生成代理脚本。

 

 

 

 

 

返回

转载于:https://www.cnblogs.com/1zhk/p/5428390.html

你可能感兴趣的文章
一个现象,
查看>>
传说中的 拉伸,
查看>>
python中取整的几种方法
查看>>
css中margin上下外边距重叠问题
查看>>
祝母亲大人福如东海长流水,寿比南山不老松
查看>>
基于SolidWorks 二次开发专用CAD系统
查看>>
【HDOJ】1069 Monkey and Banana
查看>>
Linux下安装opencv with-ffmpeg解决无法读取视频的问题
查看>>
python中的随机函数
查看>>
lockf
查看>>
洛谷P2697 宝石串
查看>>
css3 在线编辑工具 连兼容都写好了
查看>>
移动端 Retina屏border实现0.5px
查看>>
ios 自定义NSError
查看>>
DBCP连接池
查看>>
4.2 time & datetime 模块
查看>>
m4-第四次考试
查看>>
基于NiosII的TRDB-LTM控制器IP核的设计
查看>>
Skia引擎API整理介绍
查看>>
python file operations
查看>>