在我的 ASP.NET Core 5 Web API 控制器中,我有以下代码:
[HttpGet("GetByUID/{uid:int}")]
public async Task<ActionResult<PTHeading>> GetPTHeading(int uid)
{
APIEntityResponse<PTHeading> getResponse = new();
var getResult = await _controller.GetByValue("UID_PTHEADING", uid.ToString());
if (getResult is null)
{
return StatusCode(StatusCodes.Status500InternalServerError,
$"Error retrieving {m_sControllerName} data from the database.");
}
else
{
return Ok(getResult.Result);
}
}
这会在 SWAGGER 中产生以下结果:
{
"value": {
"isSuccess": true,
"errorMessages": [],
"data": {
"uiD_PTHEADING": 14,
"uiD_CUSTOMER": 17,
"txT_PTHEADING_NAME": "Exterior",
"booL_IS_ACTIVE": true,
"inT_SORT_ORDER": 1
}
},
"formatters": [],
"contentTypes": [],
"declaredType": null,
"statusCode": 200
}
这不是我需要退货的。我只需要返回这一部分...
{
"isSuccess": true,
"errorMessages": [],
"data": {
"uiD_PTHEADING": 14,
"uiD_CUSTOMER": 17,
"txT_PTHEADING_NAME": "Exterior",
"booL_IS_ACTIVE": true,
"inT_SORT_ORDER": 1
}
}
getResult.Result 值如下所示:
我不知道如何将此作为返回值。
欢迎任何评论、问题或解决方案。谢谢...约翰
根据您当前的代码,会将( )
return Ok(getResult.Result);
的值视为响应正文。getResult.Result
OkObjectResult
您可以使用 返回响应正文
getResult.Result.Value
。请注意,您应该首先检查状态代码并控制要返回的值/操作结果。或者直接返回也可以
getResult
。