SwaggerHub에 등록하고 OpenAPI 3.0을 사용하여 새 API를 만들었습니다. 내 API에서 /tasks
경로에 필수가 아닌 매개 변수가 2 개 있지만 필수가 아닌 매개 변수로 설정할 수 없습니다. 편집기에 "Not allowed 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
그러나 required
속성을 제거하면 두 가지 오류가 발생합니다.
필수 속성 '필수'가 있어야합니다
. missingProperty : 필수
유효한 구문은 무엇입니까?
이러한 매개 변수는 경로 매개 변수 또는 쿼리 매개 변수 여야합니까?
경로 매개 변수 ( in: path
)는 끝점 경로의 일부이므로 {...}
경로 템플릿에서 로 표시되어야합니다 .
paths:
/tasks/{page}/{order_by}/{filter}:
경로 매개 변수는 항상 필요합니다. 즉, required: true
.
쿼리 매개 변수 는 쿼리 문자열로 전송됩니다 (예 : /tasks?page=...&order_by=...
. 쿼리 매개 변수를 사용하려면 매개 변수 위치를로 변경합니다 in: query
.
추가 정보 : 매개 변수 설명
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다