您可以从应用服务快速生成Client层代码以及Controller层代码,BizWorks Toolkit支持生成DDD四层架构代码,暂不支持生成MVC三层架构。本文介绍如何从应用服务批量生成Controller和Client,以及相应的生成规则和示例。
生成规则
-
BizWorks Toolkit会根据项目结构将其区分为一级Module项目或二级Module项目,根据平台生成代码规则将代码生成到相应位置,若Client或Controller已经存在,则会对缺少的内容进行补充。
-
若应用服务参数大于一个,BizWorks Toolkit则会按照平台规则,在Client以及Controller中创建一个名为应用服务名+方法名的Dto作为参数。
-
方法重载时:
-
BizWorks Toolkit会将Dto命名为应用服务名+方法Method注解中Code值。
-
如果在已有的重载方法中添加或删除了参数,BizWorks Toolkit会在Controller中添加方法,且旧方法不会删除,需手动调整。
-
已有的重载方法参数个数与名称未改变,仅修改了参数类型,则BizWorks Toolkit不会在Client以及Controller中新增方法,而是会修改Dto中字段类型。
-
操作步骤
-
打开IDEA。
-
在应用服务层单击右键,选择。
生成代码示例
应用服务 /**
* 测试应用服务
*
* @author bizworks: daily_test
* @date 20xxx
*/
@ApplicationService(domain = "TestDomain", name = "应用服务")
public interface TestApplication {
@Method(code = "getUserList", name = "getUserList", desc = "getUserList")
@ReturnValue("List<Object>")
List<Object> getUserList();
@Method(code = "getUser", name = "getUser", desc = "getUser")
@ReturnValue("String")
String getUser();
@Method(code = "getUserById", name = "getUser", desc = "getUser")
@ReturnValue("String")
String getUser(@Parameter(name = "id", desc = "id") Integer id);
@Method(code = "getUserByIdAndName", name = "getUser", desc = "getUser")
@ReturnValue("String")
String getUser(@Parameter(name = "id", desc = "id") Integer id, @Parameter(name = "name", desc = "名称") String name);
}
/**
* 测试应用服务
*
* @author bizworks: daily_test
* @date 20xxx
*/
@ApplicationService(domain = "TestDomain", name = "应用服务")
public interface TestApplication {
@Method(code = "getUserList", name = "getUserList", desc = "getUserList")
@ReturnValue("List<Object>")
List<Object> getUserList();
@Method(code = "getUser", name = "getUser", desc = "getUser")
@ReturnValue("String")
String getUser();
@Method(code = "getUserById", name = "getUser", desc = "getUser")
@ReturnValue("String")
String getUser(@Parameter(name = "id", desc = "id") Integer id);
@Method(code = "getUserByIdAndName", name = "getUser", desc = "getUser")
@ReturnValue("String")
String getUser(@Parameter(name = "id", desc = "id") Integer id, @Parameter(name = "name", desc = "名称") String name);
}Client @RequestMapping(path = "/testexceptiondomain")
@FeignClient(value = "TestApplicationI")
public interface TestApplicationI {
@PostMapping(path = "/TestApplication/getUserList/v1")
Response<List<Object>> getUserList();
@PostMapping(path = "/TestApplication/getUser/v1")
Response<String> getUser();
@PostMapping(path = "/TestApplication/getUserById/v1")
Response<String> getUser(@RequestBody(required = false) Integer id);
@PostMapping(path = "/TestApplication/getUserByIdAndName/v1")
Response<String> getUser(@RequestBody(required = false) TestApplicationGetUserByIdAndName testApplicationGetUserByIdAndName);
}
@RequestMapping(path = "/testexceptiondomain")
@FeignClient(value = "TestApplicationI")
public interface TestApplicationI {
@PostMapping(path = "/TestApplication/getUserList/v1")
Response<List<Object>> getUserList();
@PostMapping(path = "/TestApplication/getUser/v1")
Response<String> getUser();
@PostMapping(path = "/TestApplication/getUserById/v1")
Response<String> getUser(@RequestBody(required = false) Integer id);
@PostMapping(path = "/TestApplication/getUserByIdAndName/v1")
Response<String> getUser(@RequestBody(required = false) TestApplicationGetUserByIdAndName testApplicationGetUserByIdAndName);
}Controller @RestController("TestApplicationCON")
public class TestApplicationController implements TestApplicationI {
@Autowired
private TestApplication testApplication;
@Override
public Response<List<Object>> getUserList() {
List<Object> returnResult = testApplication.getUserList();
return Response.buildSuccess(returnResult);
}
@Override
public Response<String> getUser() {
String returnResult = testApplication.getUser();
return Response.buildSuccess(returnResult);
}
@Override
public Response<String> getUser(@RequestBody(required = false) Integer id) {
String returnResult = testApplication.getUser(id);
return Response.buildSuccess(returnResult);
}
@Override
public Response<String> getUser(@RequestBody(required = false) TestApplicationGetUserByIdAndName testApplicationGetUserByIdAndName) {
String returnResult = testApplication.getUser(testApplicationGetUserByIdAndName.getId(), testApplicationGetUserByIdAndName.getName());
return Response.buildSuccess(returnResult);
}
}
@RestController("TestApplicationCON")
public class TestApplicationController implements TestApplicationI {
@Autowired
private TestApplication testApplication;
@Override
public Response<List<Object>> getUserList() {
List<Object> returnResult = testApplication.getUserList();
return Response.buildSuccess(returnResult);
}
@Override
public Response<String> getUser() {
String returnResult = testApplication.getUser();
return Response.buildSuccess(returnResult);
}
@Override
public Response<String> getUser(@RequestBody(required = false) Integer id) {
String returnResult = testApplication.getUser(id);
return Response.buildSuccess(returnResult);
}
@Override
public Response<String> getUser(@RequestBody(required = false) TestApplicationGetUserByIdAndName testApplicationGetUserByIdAndName) {
String returnResult = testApplication.getUser(testApplicationGetUserByIdAndName.getId(), testApplicationGetUserByIdAndName.getName());
return Response.buildSuccess(returnResult);
}
}该文章对您有帮助吗?