使用JSON

时间:2016-01-06 12:04:30

标签: asp.net-web-api2 swagger swagger-ui swagger-2.0 swashbuckle

我对Swashbuckle或Swagger提出了挑战。我不确定Swagger或Swashbuckle是否存在问题。我有web api调用,使用参数作为URI参数实现,并从请求正文中读取内容。

一个是这样实现的:

    [Route("application/uri")]
    [HttpPost]
    public async Task<string> Post([ModelBinder] Application application)
    {
        return await RegisterApplication(application);
    }

另一个是这样实现的:

    [Route("loanapplication/json")]
    [HttpPost]
    public async Task<string> PostByJson(Application application)
    {
        return await RegisterApplication(application); ;
    }

两者都使用相同的请求对象等。ApplicationRequest类包含枚举Purpose。在第一个服务中,Swagger文档创建得很漂亮,Application类型中每个属性都有很好的文档,如下所示:

Swagger UI from URI-based service

但是,使用标准HTTP主体POST的第二种方法会生成一个不错的JSON示例,但不会生成枚举中允许的值。这是Swagbuckle,Swagger中的缺陷,还是我对如何使用这些工具缺乏了解?

这是从第二种方法生成的:

Swagger UI from POST Body based-service

正如您所看到的,&#34;目的&#34;仅包括第一个可能的枚举值。并且上下文描述(在ApplicationRequest上作为显示属性提供)不会在任何地方显示。

0 个答案:

没有答案