2016-06-05 3 views
1

У меня есть способ положить в контроллере А где я передать в объекте JSON и сделать некоторые проверки в динамо дБ, основываясь на моем выходевызова метода действия от другого действия

[HttpPut] 
public async Task<IActionResult> ProcessEmployee([FromBody]EmployeeModel em) 

мне нужно сделать пост в контроллере в

[HttpPost] 
public async Task<IActionResult> CreateEmployee([FromBody]EmployeeModel em) 

или

сделать положить в контроллер B

[HttpPut] 
public async Task<IActionResult> UpdateEmployee([FromBody]EmployeeModel em) 

как я перенаправлять на действия в контроллере B, а также передать в моем JSon объект, который я перейти к сданной в контроллер А.

Спасибо за чтение.

ответ

1

Неправильно использовать контроллер для перенаправления вызовов на другие контроллеры.
Если вы хотите создать/обновить запись сотрудника в своей базе данных после того, как объект JSON был обработан контроллером A, вы можете реализовать DAL (Data Access Layer) для операций db, которые будут вызываться из контроллера A.
интерфейс DAL должен быть очень простым:

void CreateEmployee(EmployeeModel em); 
void UpdateEmployee(EmployeeModel em); 
+0

моя текущая реализация использует DAL, у меня есть 1 пута, который делает обработку и затем вызывает код либо вставки или обновления. я не уверен, что использование redirecttoaction будет лучшей реализацией v/s, имеющей 1 put, который выполняет обработку, а затем создает или обновляет. – user2950716

+0

Перенаправление создаст зависимости между контроллерами, которых вы определенно хотите избежать, и больше подходит для устаревания API и так далее. Поэтому я считаю, что лучший способ - сохранить код как есть, используя DAL. – yonisha

+0

спасибо за ваш вклад, я сохраню свои изменения в DAL, спасибо еще раз :) – user2950716

Смежные вопросы