gpt4 book ai didi

c# - 是否可以在 Swagger UI 的参数部分显示请求主体对象?

转载 作者:行者123 更新时间:2023-12-05 03:36:31 24 4
gpt4 key购买 nike

我在 .Net Core Web API 项目中使用 Swashbuckle。像往常一样,我有一些 GET 和 POST 请求。

这是一个例子:

/// <summary>
/// Test request
/// </summary>
[HttpPost("Test")]
[Consumes("application/json")]
[Produces("application/json")]
[SwaggerResponse(200, "Request Executed", typeof(ResponseObject))]
public IActionResult Test([FromBody] TestObject t)
{
var response = new ResponseObject
{
Id = t.Id,
Name = t.Name,
};

return Content(response.JsonSerialize());
}

使用过的对象:

/// <summary>
/// An example object
/// </summary>
public class TestObject
{
/// <summary>
/// Object ID
/// </summary>
public string Id { get; set; }

/// <summary>
/// Object name
/// </summary>
public string Name { get; set; }
}

/// <summary>
/// An example object
/// </summary>
public class ResponseObject
{
/// <summary>
/// Object ID
/// </summary>
public string Id { get; set; }

/// <summary>
/// Object name
/// </summary>
public string Name { get; set; }
}

结果如下: Text


我希望看到的是“参数”部分中的反序列化对象,正如我在其他一些 Swagger/Swashbuckle 样本(例如 Petstore)中看到的那样。或者,至少,类似于 OpenAPI v2 规范中的 `c.SerializeAsV2 = true;`:

Text

那么,问题是,是否可以在“参数”部分显示反序列化的对象?

最佳答案

由于您使用的是对象而不是查询字符串参数,TestObject 的属性不会在对象封装时单独显示。

具有单独的字段用于查询字符串参数。

您可以创建 custom Swagger layouts以您喜欢的方式显示数据,但我建议保持原样,以符合对 Swagger UI 的普遍期望。

也可以随意将两者结合起来;那也行。

关于c# - 是否可以在 Swagger UI 的参数部分显示请求主体对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69570031/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com