如何解决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 举报,一经查实,本站将立刻删除。