首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Mediator Api调用失败

Mediator Api调用失败
EN

Stack Overflow用户
提问于 2018-12-28 05:14:05
回答 1查看 1.4K关注 0票数 3

我正在尝试使用中介器和.net核心发出一个简单的请求。我收到一个我不理解的错误。我所要做的只是一个简单的调用来获取guid。

BaseController:

代码语言:javascript
复制
[Route("api/[controller]/[action]")]
[ApiController]
public class BaseController : Controller
{
    private IMediator _mediator;
    protected IMediator Mediator => _mediator ?? (_mediator = HttpContext.RequestServices.GetService<IMediator>());
}

控制器:

代码语言:javascript
复制
// GET: api/Customer/username/password
[HttpGet("{username}/{password}", Name = "Get")]
public async Task<ActionResult<CustomerViewModel>> Login(string username, string password)
{
    return Ok(await Mediator.Send(new LoginCustomerQuery { Username = username,Password = password }));
}

查询:

代码语言:javascript
复制
public class LoginCustomerQuery : IRequest<CustomerViewModel>
{
    public string Username { get; set; }
    public string Password { get; set; }
}

查看模型:

代码语言:javascript
复制
 public class CustomerViewModel
 {
     public Guid ExternalId { get; set; }
 }

处理程序:

代码语言:javascript
复制
public async Task<CustomerViewModel> Handle(LoginCustomerQuery request, CancellationToken cancellationToken)
{
    var entity = await _context.Customers
        .Where(e =>
        e.Username == request.Username
        && e.Password == Encypt.EncryptString(request.Password))
        .FirstOrDefaultAsync(cancellationToken);
     if (entity.Equals(null))
     {
         throw new NotFoundException(nameof(entity), request.Username);
     }

     return new CustomerViewModel
     {
         ExternalId = entity.ExternalId
     };
 }

这是我得到的异常:

请让我知道你还需要什么来确定什么可能是问题。另外,好心我已经离开c#一段时间了。

EN

回答 1

Stack Overflow用户

发布于 2018-12-28 23:06:12

谢谢你提供的信息,是DI丢失了。我添加了这个

代码语言:javascript
复制
// Add MediatR
            services.AddTransient(typeof(IPipelineBehavior<,>), typeof(RequestPreProcessorBehavior<,>));
            services.AddMediatR(typeof(LoginCustomerQueryHandler).GetTypeInfo().Assembly);

我们已经准备好了。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53950930

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档