我的REST web服务中有一个函数使用GET方法,它有两个可选参数。
我试图在Swagger中定义它,但在将required
设置为false
后,我遇到了一个错误,不是一个有效的参数定义。
我发现,如果将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
我在body或Query中的参数中没有体验到这种情况。我认为这个问题只与PATH中的参数有关。我在swagger规范文件中也找不到任何解决方案。
鉴于根据OpenAPI/Swagger规范必须需要path参数,您可以考虑使用以下路径添加2个单独的endpoint:
/get/{param1}/{param2}
提供param2时/get/{param1}/
未提供param2时我正在尝试创建一个适当的REST API,并使用Swagger(2.0)记录它。 所以,我有一个API调用,它是一个查询,即它不做任何更改,也不创建任何内容(幂等和安全)。但它需要传入一个复杂的JSON参数(项目列表、2或3组地址等)。所以我用URL编码的JSON参数进行GET。这似乎是正确的做法。 出于这个原因,我经常看到这样的 API,他们将其作为 POST 进行,但这是对 POST 动词的错
我在SwaggerHub注册,并使用OpenAPI3.0创建了一个新的API。在我的API中,路径有2个非必需参数,但我不能将它们设置为not required--编辑器显示“not alleving values”错误。 以下是我的API定义: 但是,如果删除属性,则会出现2个错误: 什么是有效的语法?
我已经通读了文档,但这似乎对我不起作用。我跟踪了这个医生。但我不确定这是否与我要做的事情有关,我认为这个文档是用于传递这样的查询- 这是我的目标:api.site.com/test/(optional_field) 因此,如果有人转到“测试”endpoint,它会将可选字段默认为一个参数,但如果他们在那里添加一些内容,它会将其作为输入。 也就是说,这是我的代码: 我想做的是,如果他们只是在没有可选
在我的OpenAPI规范中,是否有可能将参数定义为对象,而不必定义其属性(匿名对象)?更具体地说,我希望我的应用编程接口能够接受这些匿名对象的数组。 这是我所拥有的,但是我在斯瓦格编辑器中得到了一个“无效参数定义”错误。 以下是错误:
我有一个JSON模式文件,其中一个属性被定义为或: 当转换为YAML(用于OpenAPI/Swagger)时,它变为: 在OpenAPI中定义可为null属性的正确方法是什么?