我在SwaggerHub注册,并使用OpenAPI3.0创建了一个新的API。在我的API中,/tasks
路径有2个非必需参数,但我不能将它们设置为not required--编辑器显示“not alleving values”错误。
以下是我的API定义:
openapi: 3.0.0
info:
description: A Simple IP Address API
title: VTasks
version: v1
servers:
# Added by API Auto Mocking Plugin
- description: SwaggerHub API Auto Mocking
url: https://virtserver.swaggerhub.com/petrogromovo/Vtasks/1.0.0
- description: SwaggerHub API Auto Mocking
url: http://hosting.tk
paths:
/tasks:
get:
tags:
- tasks
summary: Get paginated / filtered tasks listing
operationId: tasks
parameters:
- name: page
in: path
description: The page number to be fetched. If missed default 1.
required: true
schema:
type: integer
- name: order_by
in: path
description: The order_by be fetched.
required: false // ERROR : should be equal to one of the allowed values allowedValues: true
schema:
type: string
- name: filter
in: path
description: The filter for title field.
required: false // ERROR : should be equal to one of the allowed values allowedValues: true
schema:
type: string
responses:
'200':
description: successful operation
'400':
description: Invalid tasks supplied
'404':
description: tasks were not found
但是,如果删除必需的
属性,则会出现2个错误:
什么是有效的语法?
这些参数应该是路径参数还是查询参数?
路径参数(,在:Path
中)是endpoint路径的一部分,因此必须由路径模板中的{...}
指示:
paths:
/tasks/{page}/{order_by}/{filter}:
路径参数始终是必需的,即它们必须具有required:true
。
但是在OpenAPI3.0.0中,参数被请求体替换,我找不到定义头参数的方法,这将进一步用于身份验证。 在OpenAPI3.0.0中定义请求头的正确方法是什么?
但它匹配和路径没有
我的REST web服务中有一个函数使用GET方法,它有两个可选参数。 我试图在Swagger中定义它,但在将设置为后,我遇到了一个错误,不是一个有效的参数定义。 我发现,如果将值设置为,错误就会消失。下面是我的Swagger代码的示例。 我在body或Query中的参数中没有体验到这种情况。我认为这个问题只与PATH中的参数有关。我在swagger规范文件中也找不到任何解决方案。
问题内容: 我可以设置带有可选参数的路由(相同的模板和控制器,但是如果某些参数不存在,则应将其忽略)? 因此,只编写一个规则,而不是编写以下两个规则? 这样的事情([此参数是可选的]) 我在他们的文档中找不到任何内容。 问题答案: 看来Angular现在已对此提供支持。 从最新的(v1.2.0)文档中: 可以包含带问号()的可选命名组
问题 你想定义一个元类,允许类定义时提供可选参数,这样可以控制或配置类型的创建过程。 解决方案 在定义类的时候,Python允许我们使用 ``metaclass``关键字参数来指定特定的元类。 例如使用抽象基类: from abc import ABCMeta, abstractmethod class IStream(metaclass=ABCMeta): @abstractmethod