2016-07-25 36 views
0

ich ziemlich neu bin zu stolzieren und würde eine Richtung auf gute Ressourcen für das Lernen zu schätzen wissen.Swagger sagt „kein gültiger Parameter defenition“

Ich habe ein Testprojekt, das ich zusammen bin setzen und ich in einigen Fragen leite.

Ich erhalte eine Fehlermeldung, dass die „Parameter“ in meinem „löschen“ Block nicht gültig ist. Es sieht für mich ok aus, was ich in den Beispielen gesehen habe. Aber anscheinend vermisse ich etwas. Irgendwelche Ideen?

swagger: "2.0" 

info: 
    version: "2" 
    title: My Title 
    description: Provides services for vacation rentals site 
    termsOfService: Private 
    contact: 
    name: My Name 
    url: www.myurl.com 
    email: [email protected] 
    license: 
    name: MIT 
    url: http://opensource.org/licenses/MIT 
schemes: 
    - http 
host: myurl.com 
basePath: /api 

paths: 
    /guestbook: 
    get: 
     summary: Gets some persons 
     description: Returns a list containing all persons. 
     responses: 
     200: 
      description: A list of posts 
      schema: 
      type: array 
      items: 
       required: 
       - firstName 
       properties: 
       firstName: 
        type: string 
       lastName: 
        type: string 
       email: 
        type: string 
       comment: 
        type: string 
    post: 
     summary: Adds a comment to the guestbook 
     description: Adds a comment to the guestbook 
     parameters: 
     - name: firstname 
      in: formData 
      required: true 
      type: string 
     - name: lastname 
      in: formData 
      required: true 
      type: string 
     - name: email 
      in: formData 
      required: true 
      type: string 
     - name: comment 
      in: formData 
      required: true 
      type: string 

     responses: 
     201: 
      description: Shows a successful post 
     '405': 
      description: Invalid input 
    /guestbook/{id}: 
    get: 
     summary: Gets a single post 
     description: Returns a single post 
     operationId: getPost 
     parameters: 
     - name: id 
      in: path 
      description: ID of pet to fetch 
      required: true 
      type: integer 
      format: int64 
     responses: 
     200: 
      description: A list of posts 
      schema: 
      type: array 
      items: 
       required: 
       - firstName 
       properties: 
       id: 
        type: number 
       firstName: 
        type: string 
       lastName: 
        type: string 
       email: 
        type: string 
       comment: 
        type: string 
    delete: 
     summary: Removes a post 
     description: Removes a post 
     operationId: deletePost 
     parameters: 
     - name: id 
      in: path 
     responses: 
     200: 
      description: Post has been removed 

Antwort

1

Sie müssen nur die id Parameter in den delete /guestbook/{id} operation beschreiben, wie Sie in get /guestbook/{id} tun.

delete: 
    summary: Removes a post 
    description: Removes a post 
    operationId: deletePost 
    parameters: 
    - name: id 
     in: path 
     description: ID of pet to fetch 
     required: true 
     type: integer 
     format: int64 
    responses: 
    200: 
     description: Post has been removed 

Sie diesen Parameter auch einmal für alle Operationen des Pfades /guestbook/{id} definieren:

/guestbook/{id}: 
    parameters: 
    - name: id 
     in: path 
     description: ID of pet to fetch 
     required: true 
     type: integer 
     format: int64 
    get: 
    summary: Gets a single post 
    description: Returns a single post 
    operationId: getPost 
    responses: 
     200: 
     description: A list of posts 
     schema: 
      type: array 
      items: 
      required: 
       - firstName 
      properties: 
       id: 
       type: number 
       firstName: 
       type: string 
       lastName: 
       type: string 
       email: 
       type: string 
       comment: 
       type: string 
    delete: 
    summary: Removes a post 
    description: Removes a post 
    operationId: deletePost 
    responses: 
     200: 
     description: Post has been removed 

Wenn Sie lernen müssen, wie OpenAPI (. Fka Swagger) -Spezifikation Dateien zu schreiben, Sie meine Writing OpenAPI/Swagger Specification Tutorial lesen