46

I am try to create a swagger file with the following path: paths: /v1/customers/{id}/summary :

However I get the following error right off bat:

API requires path parameter but it is not defined: id at paths ▹ /v1/customers/{id}/summary

It does not seem to like the 'id' parameter. Could anybody tell me how I could rectify this?

If I drill down on this I see the following:

Details
 Object
 swaggerError: Object
 errors: Array [1]
 0: Object
code:  "MISSING_API_PATH_PARAMETER"
message:  "API requires path parameter but it is not defined: id"
data:  "/v1/customers/{id}/summary"
 path: Array [2]
 warnings: Array [0]
user2825273
  • 495
  • 1
  • 4
  • 9

1 Answers1

103

Basically, you're declaring a path that has a path parameter in it, by using path templates. In this case {id} declares a path parameter called id.

When you declare such a path, it means that you have to declare that path parameter as part of the operation.

Take a look at this YAML example:

  /pets/{id}:
    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'

You can see there's an {id} in the path, and a corresponding id parameter definition. Without it, the spec won't be valid.

Ron
  • 12,508
  • 3
  • 45
  • 39
  • 3
    Also note that required is required and that it's required to be set to true – Jon Ramvi Nov 09 '16 at 09:24
  • @Ron Hi Ron, Could you please look at this question - http://stackoverflow.com/questions/42348630/customizing-request-header-description-in-swagger-ui-using-springfox-swagger2 and let me know your thoughts on this – Gandhi Feb 21 '17 at 05:43
  • I see that you got a reply from Dilip - he's the author of Springfox and the best reply you're going to get. – Ron Feb 21 '17 at 16:12