【发布时间】:2021-10-17 14:52:11
【问题描述】:
我有这段代码根据条件返回不同的类型:
[HttpGet("{questionId:int}/specific")]
public async Task<IActionResult> GetSpecificByQuestionIdAsync(int questionId)
{
IActionResult result = Ok();
try
{
var question = await _questionService.GetQuestionByIdAsync(questionId);
if (question != null)
{
if (question.TypeName == "TypeA")
{
var typeA = await _questionService.GetTypeAQuestionAsync(questionId);
result = Ok(typeA);
}
else if (question.TypeName == "TypeB")
{
var typeB = await _questionService.GetTypeBQuestionAsync(questionId);
result = Ok(typeB);
}
}
}
catch (Exception ex)
{
result = StatusCode(StatusCodes.Status500InternalServerError, ex.Message);
}
return result;
}
我想问这是不是一个坏主意,或者这会导致一些问题。我尝试搜索但无法获得有关返回不同类型的 REST API 的任何信息。还是只进行 2 个单独的调用会更好?
【问题讨论】: