选择实体然后生成Controller,由于Controller依赖DTO和Manager,所以会先生成DTO和Manager。
生成的Controller默认继承RestControllerBase<TManager>,
[ApiExplorerSettings(GroupName = "v1")] [Authorize(Policy = WebConst.User)] public class RestControllerBase<TManager>( Localizer localizer, TManager manager, IUserContext user, ILogger logger ) : RestControllerBase(localizer) where TManager : class { protected readonly TManager _manager = manager; protected readonly ILogger _logger = logger; protected readonly IUserContext _user = user; }
Tip
控制器默认有一个Manager泛型,当需要多个Manager时,可自行注入Manager,然后在Controller中使用。
controller的生成需要先获取以下信息
DbContextParseHelper解析指定的实体类Entity,最终获取EntityInfo对象。SystemMod(可配置),以便区分是否具有管理权限。Dto的信息,通过缓存获取接口的生成,主要是通过调用Manager的相关方法来实现。根据RestApi的规范,生成的接口方法包括:
请查看RestApiGenerate类,了解具体的实现细节,TplContent.cs查看模板内容。