Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Can't resolve some definitions #530

Closed
thibaut-algrin opened this issue Aug 28, 2018 · 2 comments
Closed

Can't resolve some definitions #530

thibaut-algrin opened this issue Aug 28, 2018 · 2 comments

Comments

@thibaut-algrin
Copy link

Hello everyone,

I have this schema:

swagger: '2.0'
info:
  version: 1.0.0
  title: Swagger Petstore
  description: A sample API that uses a petstore as an example to demonstrate features in the swagger-2.0 specification
  termsOfService: http://swagger.io/terms/
  contact:
    name: Swagger API Team
    email: apiteam@swagger.io
    url: http://swagger.io
  license:
    name: MIT
    url: http://github.com/gruntjs/grunt/blob/master/LICENSE-MIT
externalDocs:
  description: find more info here
  url: https://swagger.io/about
host: petstore.swagger.io
basePath: "/api"
schemes:
- http
consumes:
- application/json
produces:
- application/json
paths:
  "/food":
    get:
      description: Returns all food from the system that the user has access to
      operationId: findFood
      produces:
      - application/json
      responses:
        '304':
          description: cached response
        default:
          description: unexpected error
          schema:
            "$ref": "#/definitions/ErrorModel"
  "/pets":
    get:
      description: Returns all pets from the system that the user has access to
      operationId: findPets
      externalDocs:
        description: find more info here
        url: https://swagger.io/about
      produces:
      - application/json
      - application/xml
      - text/xml
      - text/html
      parameters:
      - name: tags
        in: query
        description: tags to filter by
        required: false
        type: array
        items:
          type: string
        collectionFormat: csv
      - name: limit
        in: query
        description: maximum number of results to return
        required: false
        type: integer
        format: int32
      responses:
        '200':
          description: pet response
          schema:
            type: array
            items:
              "$ref": "#/definitions/Pet"
          headers:
            ETag:
              type: string
              minimum: 1
        default:
          description: unexpected error
          schema:
            "$ref": "#/definitions/ErrorModel"
    post:
      description: Creates a new pet in the store.  Duplicates are allowed
      operationId: addPet
      produces:
      - application/json
      parameters:
      - name: pet
        in: body
        description: Pet to add to the store
        required: true
        schema:
          "$ref": "#/definitions/NewPet"
      responses:
        '200':
          description: pet response
          schema:
            "$ref": "#/definitions/Pet"
        default:
          description: unexpected error
          schema:
            "$ref": "#/definitions/ErrorModel"
  "/pets/{id}":
    patch:
      description: Creates a new pet in the store.  Duplicates are allowed
      operationId: updatePet
      consumes:
      - application/json
      - application/xml
      produces:
      - application/json
      parameters:
      - name: id
        in: path
        description: ID of pet to fetch
        required: true
        type: integer
        format: int64
      - "$ref": "#/parameters/required_header"
      - name: X-Optional-Header
        in: header
        description: Optional header
        type: string
      - name: pet
        in: body
        description: Pet to update
        required: true
        schema:
          "$ref": "#/definitions/NewPet"
      responses:
        '200':
          description: pet response
          schema:
            "$ref": "#/definitions/Pet"
        '204':
          description: success
        default:
          description: unexpected error
          schema:
            "$ref": "#/definitions/ErrorModel"
    get:
      description: Returns a user based on a single ID, if the user does not have access to the pet
      operationId: findPetById
      produces:
      - application/json
      - application/xml
      - text/xml
      - text/html
      parameters:
      - name: id
        in: path
        description: ID of pet to fetch
        required: true
        type: integer
        format: int64
      responses:
        '200':
          description: pet response
          schema:
            "$ref": "#/definitions/Pet"
        default:
          description: unexpected error
          schema:
            "$ref": "#/definitions/ErrorModel"
    delete:
      description: deletes a single pet based on the ID supplied
      operationId: deletePet
      parameters:
      - name: id
        in: path
        description: ID of pet to delete
        required: true
        type: integer
        format: int64
      responses:
        '204':
          description: pet deleted
        default:
          description: unexpected error
          schema:
            "$ref": "#/definitions/ErrorModel"
parameters:
  required_header:
    name: X-Required-Header
    in: header
    description: Required header
    required: true
    type: string
definitions:
  Pet:
    type: object
    required:
    - id
    - name
    externalDocs:
      description: find more info here
      url: https://swagger.io/about
    properties:
      id:
        type: integer
        format: int64
      name:
        type: string
      tag:
        type: string
  NewPet:
    type: object
    allOf:
    - "$ref": "#/definitions/Pet"
    - required:
      - id
      properties:
        id:
          type: integer
          format: int64
  ErrorModel:
    type: object
    required:
    - code
    - message
    properties:
      code:
        type: integer
        format: int32
      message:
        type: string

All references have been resolved except of - "$ref": "#/parameters/required_header"

Do you some idea?

@erayd
Copy link
Contributor

erayd commented Aug 28, 2018

Could you please provide the actual schema you are trying to validate against? The document you've provided is not a JSON schema, it's a swagger definition.

@DannyvdSluijs
Copy link
Collaborator

@thibaut-algrin in an attempt to cleanup this repo we are trying to filter the issues and see which ones might be closed. Is it safe to assume this is a rather old issue, which sadly was left unanswered, and can be closed? Feel free to close it yourself with some comments if helpful.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants