2016-03-30 12 views
4

Hier ist ein Auszug aus meinem generierten protection doc.swagger-ui zeigt nicht das Antwortmodell für eine 400

"responses": { 
     "200": { 
     "description": "successful operation", 
     "schema": { 
      "$ref": "#/definitions/ActionJsValue" 
     } 
     }, 
     "400": { 
     "description": "list of validation errors", 
     "schema": { 
      "type": "array", 
      "items": { 
      "$ref": "#/definitions/Error" 
      } 
     } 
     } 
    } 

Und im Definitionsteil:

"Error": { 
    "type": "object", 
    "properties": { 
    "path": { 
     "type": "string" 
    }, 
    "messages": { 
     "type": "array", 
     "items": { 
     "type": "string" 
     } 
    } 
    } 
}, 

Und Prahlerei-ui zeigt nicht die Antwort-Modell.

Wer hat dieses Problem? Weiß jemand, wie man das repariert?

enter image description here

Antwort

-1

Nach was immer die URL, die Sie für generierte Prahlerei doc verwendet haben, die gleiche URL, die Sie in der Prahlerei-ui index.html Seite verwenden müssen. EX: Wenn Sie "http: // {Servername}: {Port}/{App-Kontext}/{url-pattern} /swagger.json" für generierte protected doc verwenden, dann muss dasselbe in index.html verwendet werden wie nachstehend.

<script type="text/javascript"> 
$(function() { 
    var url = window.location.search.match(/url=([^&]+)/); 
    if (url && url.length > 1) { 
    url = decodeURIComponent(url[1]); 
    } else { 
    url = "http://petstore.swagger.io/v2/swagger.json";// you need to change this url to your's url http://{servername}:{port}/{App-Context}/{url-pattern}/swagger.json 
    } 

Bitte lassen Sie mich wissen Wenn dies Ihnen hilft, Vielen Dank.

+0

Prahlerei-ui funktioniert. Meine Frage ist, warum die Response Model Spalte leer ist (siehe Screenshot), ich erwartete "Error" –

+0

Stellen Sie sicher, dass Sie in den Swagger-Annotationen in Ihrer Rest-Ressourcenklasse und der Modellklasse als @ApiOperation (value = ".. . ", notes =" ... ", response = ResponseObj.class) @ApiModel (value =" LeaflicenseInfoResponse ") öffentliche Klasse ResponseObj { private String code; @ApiModelProperty (value = "code", notes = "...} – Raju

+0

Es scheint, dass Anmerkungen in Bezug auf den Extrakt des erstellten Dokuments –

1

Ich habe genau das gleiche Problem gefunden und die nächste Problemumgehung gefunden.

Methodenbeschreibung:

"responses": { 
    "200": { 
    "description": "successful operation", 
    "schema": { 
     "$ref": "#/definitions/ActionJsValue" 
    } 
    }, 
    "400": { 
    "description": "list of validation errors", 
    "schema": { 
     "$ref": "#/definitions/ErrorsArray" 
    } 
    } 
} 

Definition Teil:

"ErrorsArray": { 
    "type": "array", 
    "items": { 
    "type": "object", 
    "properties": { 
     "path": { 
     "type": "string" 
     }, 
     "messages": { 
     "type": "array", 
     "items": { 
      "type": "string" 
     } 
     } 
    } 
    } 
} 

So definieren Sie einfach Ihre Array als separate Art.

enter image description here