Мое предложение - просто добавить еще один проект - назовите его что-то вроде «Инфраструктура». Тогда этот проект может нести исключительную ответственность за регистрацию вещей с помощью IoC, поэтому этот проект должен будет ссылаться на каждый проект, который содержит все, что необходимо для регистрации, и может быть вызвано проектом WebAPI.
Таким образом, WebApi проекту не нужно напрямую знать о чем-либо в Репозитории; он знает только, как получить контейнер IoC, который затем может использоваться всем.
Вам необходимо структурировать тело запроса и добавить заголовок типа контента JSON.
const result = await fetch('/api/add', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
},
body: JSON.stringify(data)
});