allOf validation not working?
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 4/5
- Thời gian dự kiến
- 3-5 ngày
- Mức phù hợp với người mới
- 25/100
Hướng nghiên cứu
Tái hiện yêu cầu JSON PATCH tới /pets bằng tài liệu OpenAPI được cung cấp và tham chiếu allOf của schema Cat tới Pet. Theo dõi cách validator phân giải Pet và thuộc tính pet_type được kế thừa của nó, sau đó xác định liệu yêu cầu có được chấp nhận hay vì sao quá trình validation từ chối yêu cầu. Issue không nêu tên tệp dự án hoặc test nào.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
Hi, I'm having issues getting an example spec using allOf to work. This is the spec, as provided by the OpenAPI docs:
openapi: 3.0.0
info:
title: AllOf.v1
version: '1.0'
servers:
- url: 'http://localhost:3000'
paths:
/pets:
patch:
requestBody:
content:
application/json:
schema:
oneOf:
- $ref: '#/components/schemas/Cat'
- $ref: '#/components/schemas/Dog'
discriminator:
propertyName: pet_type
responses:
'200':
description: Updated
components:
schemas:
Pet:
type: object
required:
- pet_type
properties:
pet_type:
type: string
Dog: # "Dog" is a value for the pet_type property (the discriminator value)
allOf: # Combines the main `Pet` schema with `Dog`-specific properties
- $ref: '#/components/schemas/Pet'
- type: object
# all other properties specific to a `Dog`
properties:
bark:
type: boolean
breed:
type: string
enum: [ Dingo, Husky, Retriever, Shepherd ]
Cat: # "Cat" is a value for the pet_type property (the discriminator value)
allOf: # Combines the main `Pet` schema with `Cat`-specific properties
- $ref: '#/components/schemas/Pet'
- type: object
# all other properties specific to a `Cat`
properties:
hunts:
type: boolean
age:
type: integer
My test attempts to send a JSON PATCH request to the /pets endpoint, using:
[
'pet_type' => 'Cat',
'age' => 3,
'hunts' => true,
]
However, this only results in:
Request body did not match provided JSON schema.
Digging in a bit more, it appears that the validator doesn't see the pet_type property it should be inheriting from the Pet component.
Any experience with this, or ideas? Thanks in advance.
- Ngôn ngữ chính
- PHP
- Star
- 500
- Fork
- 99
- Chỉ số merge pull request
- Không có pull request nào được merge trong 30 ngày
Chuẩn bị môi trường
Chúng tôi chưa kiểm tra các tệp thiết lập môi trường của dự án này. Hãy bắt đầu từ README và xem hướng dẫn đóng góp lần đầu của chúng tôi để biết các bước chung.
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của cebe/php-openapi
-
Deprecated warnings in PHP 8.2Đang mở
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 48/100
cebe/php-openapi#250 ·
-
BC break in 1.8Đang mở
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 25/100
cebe/php-openapi#247 · 1 bình luận · 1 reaction ·
-
php 8.4 deprecationsĐang mở
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 58/100
cebe/php-openapi#245 · 3 bình luận ·
-
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 52/100
cebe/php-openapi#242 · 6 bình luận · 1 reaction ·
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 55/100
cebe/php-openapi#238 ·
Tất cả issue của cebe/php-openapi
Issue tương tự
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 65/100
521xueweihan/HelloGitHub#3790 ·
-
[Bug] : Main navigation "Upcoming Events" link navigates to /events/ without query parameterĐang mởbug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 88/100
Maintainer thường phản hồi trong vòng 1 ngày
-
enhancement
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/100
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
benjaminkott/bootstrap_package#1670 ·
-
sync-en
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 85/100
Maintainer thường phản hồi trong vòng 2 ngày