Asp.net Core Web API中的自定义返回

问题描述

关于返回ASP.NET核心Web API标准DDD,我有一个基本问题。 我们提供的服务和fluentvalidation验证。如果成功,如何返回SiteDto;如果已经存在注册,如何返回警报消息?正确的方法是什么?

public class SiteService : ISiteService
{
    private IRepositoryBase<NcSite> _repository;

    private readonly IMapper _mapper;
    private readonly MyContext _context;

    public SiteService(MyContext context,IRepositoryBase<NcSite> repository,IMapper mapper)
    {
        _repository = repository;
        _mapper = mapper;
        _context = context;
    }


    public async Task<SiteDto> Create(SiteDtoCreate site)
    {
        string returnValidator = string.Empty;

        var model = _mapper.Map<SiteModel>(site);                 

        //Validações com fluentvalidation
        var validator = new SiteDtovalidator(Operator.Create);
        var validRes = validator.Validate(model);
        if (!validRes.IsValid)
        {  
            returnValidator = string.Join(",",validRes.Errors).ToString();
            return null;                
        }

        //Verifica se Site ja existe com o nome
        var id = GetQuery().Where(x => x.Nome.Equals(site.Nome)).FirstOrDefault();

        if (id != null)
        {
            returnValidator = "Site já cadasTrado.";               
            return null;
        }
       
        var entity = _mapper.Map<NcSite>(model);                      
        var result = await _repository.InsertAsync(entity);            
        return _mapper.Map<SiteDto>(result);                            
    }       
}

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)