Attributes & DI snippets
On API actions / controllers
- Anonymous access (no token):
c#
[AllowAnonymous]- HTTP verb & route:
c#
[HttpPost("mdmzhdangerSubCount")]- Skip response wrapping (default stack may wrap results):
c#
[NonUnify]- Disable audit logging for this endpoint:
c#
[SuppressMonitor]- Display name (e.g. Swagger):
c#
[DisplayName("Swagger login check")]On parameters
c#
[FromBody]
[FromQuery]
[Required]Dependency injection
Current user:
c#
UserManager _userManager;Cache:
c#
SysCacheService sysCacheServiceHTTP context:
c#
IHttpContextAccessor _httpContextAccessorExample service:
c#
/// <summary>
/// Login / auth service
/// </summary>
[ApiDescriptionSettings(Order = 500)]
public class SysAuthService : IDynamicApiController, ITransient
{
private readonly UserManager _userManager;
private readonly SqlSugarRepository<SysUser> _sysUserRep;
private readonly IHttpContextAccessor _httpContextAccessor;
private readonly SysMenuService _sysMenuService;
private readonly SysOnlineUserService _sysOnlineUserService;
private readonly SysConfigService _sysConfigService;
private readonly ICaptcha _captcha;
private readonly SysCacheService _sysCacheService;
private MatchUser matchUser= new MatchUser();
public SysAuthService(UserManager userManager,
SqlSugarRepository<SysUser> sysUserRep,
IHttpContextAccessor httpContextAccessor,
SysMenuService sysMenuService,
SysOnlineUserService sysOnlineUserService,
SysConfigService sysConfigService,
ICaptcha captcha,
SysCacheService sysCacheService)
{
_userManager = userManager;
_sysUserRep = sysUserRep;
_httpContextAccessor = httpContextAccessor;
_sysMenuService = sysMenuService;
_sysOnlineUserService = sysOnlineUserService;
_sysConfigService = sysConfigService;
_captcha = captcha;
_sysCacheService = sysCacheService;
}Helpers
User-friendly error:
c#
throw Oops.Oh("The captcha is missing or expired. Request a new one.");Log every SQL from a kit to the console:
c#
kit.println();