# webapi.action
此脚本用于扩展系统的WebAPI功能。
系统在/api/...
路径上提供了丰富的webAPI,当某些个性化需求需要扩展新的API(如/api/trustedapps/my-custom-api
)时,可以使用此脚本文件。当系统收到/api路径下面的请求时会优先执行系统内置的api,如果不存在系统内置的api,那么会调用这里的脚本函数。
- 此钩子脚本全局唯一,在
sysdata
项目中,位于/sysdata/settings/hooks/webapi.action
。 - 可以直接编辑
webapi.action
文件,也可以在SuccIDE或元数据资源管理界面中通过脚本编辑器编辑ts语法的脚本文件webapi.action.ts
,编辑器会自动编译并生成webapi.action
。
# 脚本模版
实现下面的脚本函数:
/**
* 此脚本用于扩展系统的WebAPI功能。系统在`/api/...`路径上提供了丰富的webAPI,当某些个性化需求需要扩展心的API(如`/api/trustedapps/my-custom-api`)时,可以使用此脚本文件。
*
* 1. 此钩子脚本全局唯一,在`sysdata`项目中,位于`/sysdata/settings/hooks/webapi.action`。
* 2. 可以直接编辑`webapi.action`文件,也可以在SuccIDE或元数据资源管理界面中通过脚本编辑器编辑ts语法的脚本文件`webapi.action.ts`,编辑器会自动编译并生成`webapi.action`。
*/
/**
* 当系统收到/api路径下面的请求时会优先执行系统内置的api,如果不存在系统内置的api,那么会调用这里的脚本函数。
* @returns 返回的额内容将直接输出给客户端
*/
function onCustomWebAPI(request: HttpServletRequest, response: HttpServletResponse): any | void {
let uri = request.getRequestURI();
if (uri === '/api/my-custom-api') {
//实现个性化api逻辑
} else {
response.sendError(404);
}
}
0条评论
评论