swagger-api / swagger-api/swagger-editor
OpenAPI 3.2.0 - path template expressions is not matched with Parameter Object(s)
Open
Nobody has claimed this yet.
- Dominant language
- JavaScript
- Stars
- 9.5k
- Forks
- 2.4k
- Avg merge
- 17h 15m
- Merged PRs (30d)
- 18
Description
If you take a slimmed down Pet example and change the petId path param to a reusable one and change the version from 3.1.0 to 3.2.0 the following error is displayed "path template expressions is not matched with Parameter Object(s)"
openapi: 3.2.0
info:
title: Swagger Petstore - OpenAPI 3.2
termsOfService: https://swagger.io/terms/
contact:
email: apiteam@swagger.io
license:
name: Apache 2.0
url: https://www.apache.org/licenses/LICENSE-2.0.html
version: 1.0.13
externalDocs:
description: Find out more about Swagger
url: https://swagger.io
servers:
- url: https://petstore32.swagger.io/api/v3
description: Production server (OAS 3.2)
- url: https://petstore-staging.swagger.io/api/v3
description: Staging server
tags:
- name: pet
description: Everything about your Pets
externalDocs:
description: Find out more
url: https://swagger.io
- name: store
description: Access to Petstore orders and inventory
externalDocs:
description: Find out more about our store
url: https://swagger.io
- name: user
description: Operations about user management and authentication
paths:
/pet/{petId}:
get:
tags:
- pet
summary: Find pet by identifier.
description: Returns a single pet.
operationId: getPetById
parameters:
- $ref: '#/components/parameters/petId'
responses:
'200':
description: successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/Pet'
application/xml:
schema:
$ref: '#/components/schemas/Pet'
'400':
description: Invalid ID supplied
'404':
description: Pet not found
default:
description: Unexpected error
content:
application/json:
schema:
$ref: "#/components/schemas/Error"
security:
- api_key: []
- petstore_auth:
- write:pets
- read:pets
components:
parameters:
petId:
name: petId
in: path
description: ID of the pet
required: true
schema:
type: string
schemas:
Category:
type: object
properties:
id:
type: integer
format: int64
examples: [1]
name:
type: string
examples: [Dogs]
xml:
name: category
Tag:
type: object
properties:
id:
type: integer
format: int64
name:
type: string
xml:
name: tag
Pet:
required:
- name
- photoUrls
type: object
properties:
id:
type: integer
format: int64
examples: [10]
name:
type: string
examples: [doggie]
category:
$ref: '#/components/schemas/Category'
photoUrls:
type: array
xml:
wrapped: true
items:
type: string
xml:
name: photoUrl
tags:
type: array
xml:
wrapped: true
items:
$ref: '#/components/schemas/Tag'
status:
type: string
description: pet status in the store
enum:
- available
- pending
- sold
xml:
name: pet
ApiResponse:
type: object
properties:
code:
type: integer
format: int32
type:
type: string
message:
type: string
xml:
name: '##default'
Error:
type: object
properties:
code:
type: string
message:
type: string
required:
- code
- message
requestBodies:
Pet:
description: Pet object that needs to be added to the store
content:
application/json:
schema:
$ref: '#/components/schemas/Pet'
application/xml:
schema:
$ref: '#/components/schemas/Pet'
securitySchemes:
petstore_auth:
type: oauth2
flows:
implicit:
authorizationUrl: https://petstore3.swagger.io/oauth/authorize
scopes:
"write:pets": modify pets in your account
"read:pets": read your pets
api_key:
type: apiKey
name: api_key
in: header
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Reproduce the validation error in Swagger Editor with the supplied Petstore YAML, then compare the same reusable path parameter under OpenAPI 3.1.0 and 3.2.0. Trace the validation path responsible for matching path template expressions to parameters; done when the 3.2.0 example no longer reports a mismatch.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- javascript, openapi
- Domain
- api
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 58/100