System.NullReferenceException with HttpService

При попытке вызова метода UsersController, который обращается по http к серверу вылезает NullPointer

В мидлваре я зарегистрировала RabbitMqConnection. Требования из документации выполнены, но объект RabbitMqConnection не инициализируется.

Далее приведен код, сначала контроллер обращающийся к RabbitMqConnection, затем сам RabbitMqConnection, и в конце Programm проекта

Прикрепляю также скриншоты

Ошибка

Ошибка

// ===============UserController ===================
namespace tinderAPI.Controllers
{
    [Microsoft.AspNetCore.Mvc.Route("[controller]")]
    [ApiController]
    public class UsersController : ControllerBase
    {
        [Inject] RabbitMqConnection rbtMQ { get; set; }
        

        [HttpPost]
        [Microsoft.AspNetCore.Mvc.Route("AddUser")]
        public IActionResult AddUser(User user)
        {
            // dbApi.AddUser(user);
            var response = rbtMQ.AddUser(user);
            return Ok(response);
        }
    }
}
//==============RabbitMqConnection===============
namespace tinder_API.HttpConnection
{
    public sealed class RabbitMqConnection(
        IHttpClientFactory httpClientFactory,
        ILogger<HttpService> logger)
    {
        

        private readonly string baseUrl = "http://localhost:7274";
        private readonly static UserEndpoints userEndpoints;

        public async Task<bool> AddUser(User user)
        {
            using HttpClient client = httpClientFactory.CreateClient();
            client.BaseAddress = new Uri(baseUrl);
            using var content = new MultipartFormDataContent();
            var json = JsonConvert.SerializeObject(user);
            var userContent = new StringContent(json, Encoding.UTF8, "application/json");
            userContent.Headers.ContentDisposition = new ContentDispositionHeaderValue("form-data")
            {
                Name = "info"
            };

            content.Add(userContent);
            var response = await client.PostAsync(userEndpoints.ENDPOINT_AddUser, content);

            return response.IsSuccessStatusCode;
        }
//===========Middleware==============
namespace tinder_API
{
    public class Program
    {
        public static void Main(string[] args)
        { 
            var builder = WebApplication.CreateBuilder(args);
            builder.Services.AddControllers();
            builder.Services.AddEndpointsApiExplorer();
            builder.Services.AddSwaggerGen();

            builder.Services.AddHttpClient();
            builder.Services.AddTransient<RabbitMqConnection>();

            builder.Services.AddCors(options =>
            {
                options.AddPolicy("CorsPolicy",
                    builder => builder.AllowAnyOrigin()
                        .AllowAnyMethod()
                        .AllowAnyHeader());
            });

            var app = builder.Build();
            app.UseCors("CorsPolicy");
            // Configure the HTTP request pipeline.
            if (app.Environment.IsDevelopment())
            {
                app.UseSwagger();
                app.UseSwaggerUI();
            }

            app.UseHttpsRedirection();

            app.UseAuthorization();

            app.MapControllers();

            app.Run();
        }
    }
} 

Ответы (1 шт):

Автор решения: Екатерина Воронина

нужно этот код

[Inject] RabbitMqConnection rbtMQ { get; set; }

заменить на

 private readonly RabbitMqConnection _rbtMQ;

        public UsersController(RabbitMqConnection rbtMQ)
        {
            _rbtMQ = rbtMQ;
        }
→ Ссылка