UNPKG

yonbip-code-gen-mcp

Version:

YonBIP高级版代码生成MCP

88 lines (76 loc) 3.79 kB
# 控制器Action开发步骤 1. 创建控制器`Action`的java类,以`Action`结尾 * 在根据用户输入生成`doAction`方法里的逻辑时,注意采用合适的方式转换`request`参数,得到具体的参数对象或者参数Map * 根据实际具体的业务需要选择服务类 * 组装返回的数据 2. 创建控制器`Action`配置文件,以`action.xml`结尾 3. 创建控制器`Action`的鉴权文件,以`authorize.xml`结尾 ## 1.创建控制器Action的java类 * 其路径为:`src/client/nccloud/web/模块编码/应用编码/action/应用+具体功能+Action.java` ### Demo ```java import nccloud.framework.core.json.IJson; import nccloud.framework.service.ServiceLocator; import nccloud.framework.web.action.itf.ICommonAction; import nccloud.framework.web.container.IRequest; import nccloud.framework.web.json.JsonFactory; import nc.md.persist.framework.IMDPersistenceQueryService; import POJO类或者VO实体类全路径; public class DemoAction implements ICommonAction { @Override public Object doAction(IRequest request) { try { //从request参数转换成DTO对象 String read = request.read(); IJson json = JsonFactory.create(); //如果需要从前端获取某一个参数或者某几个参数,可以使用如下方式 //Map<String,Object> paramMap = json.fromJson(read, HashMap.class); //从参数Map中获取对应的参数值 //String param1 = (String)paramMap.get("xx参数key"); //如果需要从前端获取一个参数对象,可以使用如下方式 //POJO类或者VO实体类 info = json.fromJson(read, POJO类或者VO实体类.class); //从参数对象中获取对应的参数值 //String param = info.getParam(); //根据具体的业务要求,选择对应的服务类 //如果是查询功能相关,一般选用IMDPersistenceQueryService; IMDPersistenceQueryService queryService = ServiceLocator.find(IMDPersistenceQueryService.class); //如果是增删改功能相关,一般选用IMDPersistenceService; IMDPersistenceService mngService = ServiceLocator.find(IMDPersistenceService.class); //TODO: 实现具体的业务逻辑 //返回组装好的数据 return "返回组装好的数据"; } catch (RuntimeException e) { throw new RuntimeException(e); } } } ``` ## 2.创建控制器Action配置文件 * 其路径为:`src/client/yyconfig/modules/模块编码/应用分类/应用编码/config/action/应用编码_action.xml` * 如果有路径一致的xml,可以把action标签的内容插入到路径一致的xml文件的对应位置 ### Demo ```xml <?xml version="1.0" encoding="UTF-8" standalone="no" ?> <actions> <action> <name>模块编码.应用编码.应用+具体功能+Action</name> <label>具体功能Action</label> <clazz>nccloud.web.模块编码.应用编码.action.应用+具体功能+Action</clazz> </action> </actions> ``` ## 3.创建控制器Action的鉴权文件 * 其路径为:`src/client/yyconfig/modules/模块编码/应用分类/应用编码/config/authorize/应用编码_authorize.xml` * 如果有路径一致的xml,可以把action标签的内容插入到路径一致的xml文件的对应位置 ### Demo ```xml <?xml version="1.0" encoding="UTF-8" standalone="no" ?> <authorizes> <authorize> <appcode>*</appcode> <actions> <action>模块编码.应用编码.应用+具体功能+Action</action> </actions> </authorize> </authorizes> ```