Search code examples
swaggerswagger-2.0swagger-editor

Semantic error at paths./findfood/{foodItemId} in Swagger Editor


I'm new to Swagger. I've written the following code using Swagger Editor, but I'm getting multiple errors. I've already looked at documentation and other examples, but I'm not able to clarify the problem.

swagger: '2.0'
info:
  version: "1"
  title: 'Grocery Shop'
  description: 'This contains the url to access all the Grocery food related information. You can also add, update or delete any food item as well based on their respective id.'
  contact:
    email: you@your-company.com

tags:
- name: FoodItem
  description: Specifically for Food item
- name: Category
  description: Specifically for the category purpose

schemes:
 - https
paths:
  '/findfood/{foodItemId}':
    get:
      tags:
      - FoodItem
      summary: "Find the required food"
      description: "Find the food with passed food id as an argument. Make sure that passed id exist otherwise it will return an error"
      operationId: findFoodWithId
      produces:
      - "application/json"
      parameters:
      - in: path
        name: foodItemId
        required: true
        type: integer
        miniumum: 1
        description: The id associated with the food in the grocery shop

      responses:
        200:
          description: "successful operation"
          schema:
            $ref: '#definitions/Food'

        404:
          description: "Food is not found

definitions:
 Food:
    type: "object"

    properties:
     foodItemId:
      type: integer
      format: int32

    required:
    - foodItemId

    xml:
      name: "User"


# Added by API Auto Mocking Plugin
host: "localhost:8080"
basePath: "/grocery"

The errors which I'm getting are:

Semantic error at paths./findfood/{foodItemId} Declared path parameter "foodItemId" needs to be defined as a path parameter at either the path or operation level Jump to line 18

Schema error at paths./findfood/{foodItemId}.get.parameters[0] is not exactly one from <#/definitions/parameter>,<#/definitions/jsonReference> Jump to line 28

Parser error can not read a block mapping entry; a multiline key may not be an implicit key Jump to line 48


Solution

  • These errors are misleading. The actual errors are:

    • miniumum: 1 contains a typo - miniumum

    • $ref: '#definitions/Food' needs a / between # and definitions: '#/definitions/Food'

    • description: "Food is not found needs the ending quotation mark.