使用引用项目中的 class 时,C# Swagger 响应架构为空
C# Swagger response schema is empty when using class from referenced project
我正在创建一个网站 API,响应类型来自另一个项目,已添加到 .csproj 文件中。然而,模型响应模式似乎是空的,即使我可以看到在单步执行代码时返回了正确的对象:
但是,如果我将要返回的 class 复制并粘贴到我自己的项目中(见下文),它会按预期运行:
public class Info
{
public DateTime Timestamp { get; set; }
public Dictionary<string, string> LatestInfoPerClient { get; set; }
}
我用来创建端点的代码如下(删除了所有逻辑):
[HttpGet]
[Route("get_latest_info")]
[ProducesResponseType(StatusCodes.Status200OK, Type = typeof(Info))]
public IActionResult GetLatestInfo()
{
...
return Ok(new Info(result));
}
我很困惑为什么当 class 来自我自己的项目时它可以正常运行,而当它来自引用项目时却不能。
您需要让您的操作return成为键入的结果:
public ActionResult<Info> GetLatestInfo()
{
...
return Ok(new Info(result));
}
我正在创建一个网站 API,响应类型来自另一个项目,已添加到 .csproj 文件中。然而,模型响应模式似乎是空的,即使我可以看到在单步执行代码时返回了正确的对象:
但是,如果我将要返回的 class 复制并粘贴到我自己的项目中(见下文),它会按预期运行:
public class Info
{
public DateTime Timestamp { get; set; }
public Dictionary<string, string> LatestInfoPerClient { get; set; }
}
我用来创建端点的代码如下(删除了所有逻辑):
[HttpGet]
[Route("get_latest_info")]
[ProducesResponseType(StatusCodes.Status200OK, Type = typeof(Info))]
public IActionResult GetLatestInfo()
{
...
return Ok(new Info(result));
}
我很困惑为什么当 class 来自我自己的项目时它可以正常运行,而当它来自引用项目时却不能。
您需要让您的操作return成为键入的结果:
public ActionResult<Info> GetLatestInfo()
{
...
return Ok(new Info(result));
}