我想在控制器返回“ ok”或“ BadRequest”之前设置来自存储库的错误消息
[HttpPost(Name = "CreateAsyncEmployee")]
public async Task<IActionResult> CreateAsync(RegisterModel model)
{
Employee employee = _repositoryContext.Employee.CreateAsync(model);
return OK();
}
添加消息以从存储库响应http:
public async Task<Employee> CreateAsync(RegisterModel model)
{
....
Httpresponse response = new HttpResponse();
response.Current.write("register completed.");
return employee;
}
答案 0 :(得分:0)
正如评论中提到的-我完全不会这样做。控制器的重点是管理代码/业务逻辑与HTTP代码之间的交互。您在存储库方法中创建的HttpResponse
仅限于该方法,因此您将不会写入对原始请求的实际响应。
关于操作方法,有很多不同的方法。如果您想返回一个错误的请求,我可能会喜欢一种验证方法。这可以检查所有必填字段是否都已填写,也可以检查它不是重复的注册。您的控制器代码将为:
[HttpPost(Name = "CreateAsyncEmployee")]
public async Task<IActionResult> CreateAsync(RegisterModel model)
{
if (IsValid(model)
{
Employee employee = _repositoryContext.Employee.CreateAsync(model);
return OK();
}
else
{
return BadRquest();
}
}