首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Swagger文档中的JsonResult

Swagger文档中的JsonResult
EN

Stack Overflow用户
提问于 2018-10-03 13:06:22
回答 1查看 865关注 0票数 1

我正在使用Swashbuckle为我的ASP.MVCWebAPI生成文档。一切都很好,除了JsonResult的文档。下面是一个例子。我有一堂考试课:

代码语言:javascript
复制
public class Test
{
    public string Testing { get; set; }
}

控制器中的方法:

代码语言:javascript
复制
[HttpGet]
public JsonResult<Test> GetTest()
{
    Test test = new Test { Testing = "testing json" };

    return Json(test);
}

根据此配置,Swagger生成示例值:

代码语言:javascript
复制
{
    "Content": {
        "Testing": "string"
    },
    "SerializerSettings": {
        "ReferenceLoopHandling": 0,
        "MissingMemberHandling": 0,
        "ObjectCreationHandling": 0,
        "NullValueHandling": 0,
        "DefaultValueHandling": 0,
        "Converters": [{
                "CanRead": true,
                "CanWrite": true
            }
        ],
        "PreserveReferencesHandling": 0,
        "TypeNameHandling": 0,
        "MetadataPropertyHandling": 0,
        "TypeNameAssemblyFormat": 0,
        "TypeNameAssemblyFormatHandling": 0,
        "ConstructorHandling": 0,
        "ContractResolver": {},
        "EqualityComparer": {},
        "ReferenceResolver": {},
        "ReferenceResolverProvider": {
            "Method": {},
            "Target": {}
        },
        "TraceWriter": {
            "LevelFilter": 0
        },
        "Binder": {},
        "SerializationBinder": {},
        "Error": {},
        "Context": {
            "m_additionalContext": {},
            "m_state": 1
        },
        "DateFormatString": "string",
        "MaxDepth": 0,
        "Formatting": 0,
        "DateFormatHandling": 0,
        "DateTimeZoneHandling": 0,
        "DateParseHandling": 0,
        "FloatFormatHandling": 0,
        "FloatParseHandling": 0,
        "StringEscapeHandling": 0,
        "Culture": "string",
        "CheckAdditionalContent": true
    },
    "Encoding": {
        "m_codePage": 0,
        "dataItem": {
            "m_dataIndex": 0,
            "m_uiFamilyCodePage": 0,
            "m_webName": "string",
            "m_headerName": "string",
            "m_bodyName": "string",
            "m_flags": 0
        },
        "m_isReadOnly": true,
        "encoderFallback": {
            "bIsMicrosoftBestFitFallback": true
        },
        "decoderFallback": {
            "bIsMicrosoftBestFitFallback": true
        }
    },
    "Request": {}
}

这是不正确的。我不想要JsonResult的文档,而只需要我的Test类的文档。我怎么才能改变呢?我如何告诉Swagger只为Test类准备文档?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-10-04 13:27:58

一个选项是使用SwaggerResponse --看看下面的示例:

代码语言:javascript
复制
[SwaggerResponse(400, "Bad request")]
public class SwaggerAnnotatedController : ApiController
{
    [SwaggerResponseRemoveDefaults]
    [SwaggerResponse(HttpStatusCode.Created, Type = typeof(int))]
    [SwaggerResponse(HttpStatusCode.BadRequest, "Invalid message", typeof(HttpError))] 
    public int Create(Message message)
    {
        throw new NotImplementedException();
    }

以下是该项目的链接:

https://github.com/domaindrivendev/Swashbuckle/blob/5489aca0d2dd7946f5569341f621f581720d4634/Swashbuckle.Dummy.Core/Controllers/SwaggerAnnotatedController.cs#L15

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52627724

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档