# WEB API脚本
任意的后台脚本(.action.ts
)中被标识为export
并且以request_
作为函数名前缀的函数都被视为WEB API
脚本函数,
这个WEB API
脚本函数对应的请求url结构为:
${scriptPath}?[method=${methodName}][params=otherParams]
scriptPath
:后台脚本的在元数据中的全路径,比如/sysdata/public/request.action
。methodName
: 指定执行脚本中的哪个函数,格式为函数名去除前缀request_
后的字符,比如函数名为request_task
,参数传递task
; 这个参数是可选的,不传递,默认会执行名为request_default
的函数。
注意
所有WEB API
开发都需要有考虑权限。
为了避免开发者忽略权限考虑导致数据泄露问题,默认情况下,如果后台脚本WEB API
在public目录
中,
系统不做权限限制,其他位置的后台脚本WEB API
,系统要求只有登录了才可以访问。
# WEB API脚本模板
//import db from "svr-api/db"; //数据库相关API
//import meta from "svr-api/metadata"; //元数据、模型表相关API
//import utils from "svr-api/utils"; //通用工具函数
//import bean from "svr-api/bean"; //spring bean相关api
/**
* action开发规范:
* 1. 前端可以通过url或ajax请求访问到action,action会根据情况执行内部的脚本函数
* 2. 默认将执行`request_main`函数,可以通过指定参数`method`指定执行的函数`request_{method}`,所有前端能访问到的函数都必须导出(export)
* 3. 每个函数接受2个参数`request: HttpServletRequest, response: HttpServletResponse`
* 4. 函数可以执行重定向、forward、返回json、返回文本、下载文件、上传文件……
*/
/**
* main方法主要用于:
* 1. 定时调度脚本执行入口
* 2. 脚本开发界面的执行入口,用于调试,或执行其他批处理业务
*/
export function main(args: string[]) {
}
/**
* 通过浏览器访问,当url中没有通过method指定执行的函数时,默认执行此函数。
*
* @param request `HttpServletRequest`
* @param response `HttpServletResponse`
* @param params 请求参数,通常是一个json对象:
* 1. params.param1 等价于 `request.getParameter('param1')`
* 2. 当请求的`Contect-Type`==`application/json`(前端通过`rc`函数进行的调用)时,那么返回请求体的json对象, 等价于`request.getRequestBody()`
*/
export function request_main(request: HttpServletRequest, response: HttpServletResponse, params: any) {
return "hello world!";
}
/** */
export function request_method1(request: HttpServletRequest, response: HttpServletResponse, params: any) {
}
是否有帮助?
0条评论
评论