标签: swagger

如何使用swagger在路径中定义可选参数

我的REST Web服务中有一个使用GET方法的函数,它有两个可选参数.

我尝试在Swagger中定义它但在设置as 后遇到错误,不是有效的参数定义.requiredfalse

我发现如果我设置required值,因为true错误将消失.这是我的Swagger代码示例.

...
paths:
  '/get/{param1}/{param2}':
    get:
      ...
      parameters:
      - name: param1
        in: path
        description: 'description regarding param1'
        required: false
        type: string
      - name: param2
        in: path
        description: 'description regarding param2'
        required: false
        type: string
Run Code Online (Sandbox Code Playgroud)

我没有使用body中的参数或查询中的参数来体验这一点.我认为这个问题只与路径中的参数有关.我也无法在swagger规范文件中找到任何解决方案.

有没有其他方法可以在Swagger中定义可选参数,或者我的代码中是否有任何错误?

任何帮助,将不胜感激.

rest web-services swagger

46
推荐指数
4
解决办法
5万
查看次数

如何在Swagger中为具有简单对象的数组描述模型?

我有一个REST服务来记录,其中一些接受简单的数组,如:

[
  { "name":"a" },
  { "name":"b" },
  { "name":"c" }
]
Run Code Online (Sandbox Code Playgroud)

我如何在Swagger模型部分中描述这一点?我只能创建'命名数组'

model {
properties: { "arr": { "type":"array", ......
Run Code Online (Sandbox Code Playgroud)

但它描述了这样的数据:

"arr": [
  { "name":"a" },
  { "name":"b" },
  { "name":"c" }
]
Run Code Online (Sandbox Code Playgroud)

rest swagger swagger-ui

44
推荐指数
5
解决办法
7万
查看次数

如何在swagger.io中定义枚举?

有没有人能够在swaggger 2.0版的Model选项卡中定义可能的'enum'值?示例:http : //petstore.swagger.wordnik.com/#!/pet/addPet具有"status"属性的枚举选项,但该示例使用的是swagger 1.0版(根据JSON对象中定义的swagger版本).我试图在版本2.0中实现相同但没有运气,不确定文档是否正确.

有什么暗示吗?

javascript json swagger

43
推荐指数
2
解决办法
6万
查看次数

Swagger可以根据现有的快速路线自动生成其yaml吗?

我继承了现有的API,我想用swagger记录它,但我还不知道它的全部范围.Swagger(或其他中间件/工具)可以根据现有的快速路线自动神奇地生成yaml(swagger)吗?

对于我在其他问题上看到的情况,似乎这主要是一个手工工作,但我仔细检查是否有人在这里找到了办法.

documentation rest node.js express swagger

42
推荐指数
2
解决办法
2万
查看次数

如何在OpenAPI(Swagger)中描述此POST JSON请求主体?

我有一个POST请求,它使用以下JSON请求体.如何使用OpenAPI(Swagger)描述此请求体?

{
    "testapi": {
        "testapiContext": {
            "messageId": "kkkk8",
            "messageDateTime": "2014-08-17T14:07:30+0530"
        },
        "testapiBody": {
            "cameraServiceRq": {
                "osType": "android",
                "deviceType": "samsung555"
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

到目前为止,我尝试了以下内容,但我仍然坚持定义身体schema.

swagger: "2.0"
info:
  version: 1.0.0
  title: get camera
  license:
    name: MIT
host: localhost
basePath: /test/service
schemes:
  - http
consumes:
  - application/json
produces:
  - application/json
paths:
  /getCameraParameters:
    post:
      summary: Create new parameters
      operationId: createnew
      consumes:
        - application/json
        - application/xml
      produces:
        - application/json
        - application/xml
      parameters:
        - name: pet
          in: body
          description: The pet JSON you …
Run Code Online (Sandbox Code Playgroud)

swagger swagger-2.0 openapi

42
推荐指数
3
解决办法
8万
查看次数

根据Swagger API模式验证JSON

我从一些JSON文件创建了一个API规范,我试图测试文件是否根据API规范进行验证.

有一些很好的工具可以验证JSON Schema,但我没有机会找到一个工具来验证Swagger中创建的规范(用于创建API模式的工具).我找到的唯一解决方案是在Swagger-Editor中生成客户端/服务器,这非常麻烦.

是否已有一个现有工具来验证针对Swagger Schema的JSON?

json jsonschema swagger swagger-ui swagger-editor

42
推荐指数
1
解决办法
4万
查看次数

Swagger UI在部署时显示错误(验证)

我在我的应用程序中嵌入了swagger ui.当我在本地运行我的节点应用程序时,UI工作得很好.

然而,当我将UI部署到我的"真正的"服务器时,我在我的招摇ui的右下方得到一个错误图像:

在此输入图像描述

我确信这是我正在做的事情,它搞砸了,但我不知道.当我通过http访问swagger ui时,再次在本地工作.

但是当我部署时,我通过apache运行并通过https服务,我看到一个错误.更糟糕的是,在部署时,我的"试用"调用都没有.似乎没有提出请求.

看起来UI使用我的swagger.json调用验证器,但该调用在本地工作.

我究竟做错了什么?

当我点击错误图标时,我得到:

在此输入图像描述

swagger swagger-ui

40
推荐指数
3
解决办法
2万
查看次数

swagger @ApiModelProperty List <String>属性的示例值

我有一个类,其中有一个属性 List<String>

public class MyClass {
    ....
    @ApiModelProperty(position = 2)
    private List<String> productIdentifiers;
    ....
}
Run Code Online (Sandbox Code Playgroud)

此代码生成示例值,如下所示:

{
  "customerId": "1001",
  "productIdentifiers": [
    "string"
  ],
  "statuses": [
    "NEW"
  ]
}
Run Code Online (Sandbox Code Playgroud)

此处显示的示例值无效.我期望的示例值应该是:

{
  "customerId": "1001",
  "productIdentifiers": [
    "PRD1",
    "PRD2",
    "PRD3"
  ],
  "statuses": [
    "NEW"
  ]
}
Run Code Online (Sandbox Code Playgroud)

我尝试将示例属性传递如下,但它没有生成正确的值:

@ApiModelProperty(position = 2, example = "PRD1, PRD2, PRD3")
// This generates -> "productIdentifiers": "PRD1, PRD2, PRD3" // Its not json array

@ApiModelProperty(position = 2, example = "[\"PRD1\", \"PRD2\", \"PRD3\"]")
// This generates -> "productIdentifiers": "[\"PRD1\", \"PRD2\", …
Run Code Online (Sandbox Code Playgroud)

java swagger springfox

38
推荐指数
4
解决办法
4万
查看次数

ASP.NET Core - Swashbuckle没有创建swagger.json文件

我无法获得Swashbuckle.AspNetCore(1.0.0)包来生成任何输出.我读过swagger.json文件应该写成'〜/ swagger/docs/v1'.但是,我没有得到任何输出.

我从一个全新的ASP.NET Core API项目开始.我应该提到这是ASP.NET Core 2. API工作,我能够从值控制器中检索值就好了.

我的启动类具有完全如本文所述的配置(GitHub上的Swashbuckle.AspNetCore).

public class Startup
{
    public Startup(IConfiguration configuration)
    {
        Configuration = configuration;
    }

    public IConfiguration Configuration { get; }

    // This method gets called by the runtime. Use this method to add services to the container.
    public void ConfigureServices(IServiceCollection services)
    {
        services.AddMvc();

        services.AddSwaggerGen(c =>
        {
            c.SwaggerDoc("v1", new Info { Title = "My API", Version = "v1" });
        });
    }

    // This method gets called by the runtime. Use this method …
Run Code Online (Sandbox Code Playgroud)

c# swagger swashbuckle asp.net-core

38
推荐指数
13
解决办法
4万
查看次数

NSwag vs 虚张声势

我在文档中读到“.NET 的两个主要 OpenAPI 实现是 Swashbuckle 和 NSwag”,但它们之间有什么区别?

.net swagger swashbuckle nswag

38
推荐指数
1
解决办法
1万
查看次数