c# - Swagger(C# 的 Swashbuckle)将 Mongo ObjectId 显示为多个字段而不是单个字符串

标签 c# mongodb swagger swashbuckle objectid

我有 Controller 方法 ObjectId参数:

[ProducesResponseType(200, Type = typeof(Test))]
[HttpGet]
[Route("{id}")]
public IActionResult Get(ObjectId id)
{...

对于这个 API 方法,swagger 生成一个包含复杂 ObjectId 模型和字符串 Id 的表单,而不是单个字符串参数:
swagger generated form
如何删除额外的字段并只保留字符串 ID?

最佳答案

找出什么 answer来自另一个 story还解决了这个问题:

services.AddMvc(options =>
{                    
    ...
    options.ModelMetadataDetailsProviders.Add(
        new BindingSourceMetadataProvider(typeof(ObjectId), BindingSource.Special));
});

关于c# - Swagger(C# 的 Swashbuckle)将 Mongo ObjectId 显示为多个字段而不是单个字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59800064/

相关文章:

c# - 直接或通过 HTTP 客户端测试我的 Web API Controller 是最佳实践吗?

mongodb - 查找嵌套数组 MongoDB 中的最大值

java - 如何在 Swagger 中描述多态端点?

php - 如何将超时设置为无限以避免 php 中的 MongoCursorTimeoutException

rest - 带有 JAX-RS Jersey 2 和 Grizzly 的 Swagger 文档

asp.net-core - 如何仅显示 Swashbuckle 参数对象以及实际应发送的字段?

c# - 是否有特定原因在类中不允许使用同名属性和方法,但允许将其作为扩展方法使用?

javascript - 带参数的 WebApi 404 - 通过 javascript GET 调用

C# 泛型类与泛型方法

c++ - Qt 通过 MongoDB C++ 初始化分解