我正在开发一个API,它允许使用URL进行搜索,比如:
GET https://example.com/api/data?search[field1]=value1
GET https://example.com/api/data?search[field2]=value2
GET https://example.com/api/data?search[field1]=value1&search[field2]=value2
这个答案几乎是我想要做的,我只是找不到一种方法来定义括号内的值为“任何字符串”,而不是已知名称的列表。
search
参数可以定义为具有deepobject
序列化样式和minproperties:1
的自由格式对象,以强制搜索查询中至少存在一个字段。
确保您使用的是OpenAPI3.0(OpenAPI:3.0.x
),而不是OpenAPI2.0(Swagger:“2.0”
);后者不支持查询字符串中的对象。
openapi: 3.0.2
...
paths:
/api/data:
get:
parameters:
- in: query
name: search
required: true
schema:
type: object
additionalProperties: true # Default value, may be omitted
minProperties: 1
# Optional example to use as a starting value for "try it out" in Swagger UI
example: >
{
"field1": "value1",
"field2": "value2"
}
style: deepObject
explode: true
responses:
200:
description: OK
这是唯一的解决办法吗:
问题内容: 我正在使用Spring Boot开发应用程序。在REST控制器中,我更喜欢使用路径变量(注释)。我的代码获取了path变量,但它在网址中包含 {} 括号。请任何人建议我解决这个问题 网址 输出控制器 {约翰} 问题答案: 使用提交请求来代替。 您为路径变量赋予Spring值“ {john}” ,因此Spring通过“ {}”获得它 Web MVC框架 指出 URI模板模式 URI模板可
如何为这些参数编写OpenAPI(Swagger)定义?
问题内容: 我正在浏览Alamofire的源代码,并在此源文件中发现了反引号名称的变量 但是,在使用变量的地方没有反引号。反引号的目的是什么? 问题答案: 根据Swift文档: 要将保留字用作标识符,请在其前后加上反引号。例如,class不是有效的标识符,但是是有效的。反引号不视为标识符的一部分;x和x具有相同的含义。 在您的示例中,是一个快速的保留关键字,这就是为什么需要反引号的原因。
问题内容: 我最近一直在思考定义数组的两种方式之间的区别: 有区别吗? 问题答案: 它们在语义上是相同的。添加该语法只是为了帮助C程序员习惯Java。 更可取,并且不会造成混乱。
本文向大家介绍基于js里调用函数时,函数名带括号和不带括号的区别,包括了基于js里调用函数时,函数名带括号和不带括号的区别的使用技巧和注意事项,需要的朋友参考一下 示例代码: 如以上代码: aaa 是将 hi() 的运行结果赋值给它,即 return 返回的匿名函数,此时有一个闭包,则每次调用 aaa 时都访问的同一个 a,aaa() 第一次运行结果为 1,第二次为2 而 bbb 将是将 hi 这