# webapi.action

此脚本用于扩展系统的WebAPI功能。

系统在/api/...路径上提供了丰富的webAPI,当某些个性化需求需要扩展新的API(如/api/trustedapps/my-custom-api)时,可以使用此脚本文件。当系统收到/api路径下面的请求时会优先执行系统内置的api,如果不存在系统内置的api,那么会调用这里的脚本函数。

  1. 此钩子脚本全局唯一,在sysdata项目中,位于/sysdata/settings/hooks/webapi.action
  2. 可以直接编辑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条评论
评论