2015-07-06 18 views
6

mogę to zrobić:Jak odwołać się do obiektu odpowiedzi za pomocą polecenia przekreślenia?

parameters: 
    avatarSizeParam: 
    name: size 
    in: query 
    description: Size of avatar. 
    enum: [32, 64] 
    required: false 
    type: integer 
    format: int32 

paths: 
    /my/path/avatar: 
    get: 
     parameters: 
     - $ref: '#/parameters/avatarSizeParam' 

dobre. Swagger definiuje klucz parameters, w którym można ponownie wykorzystać Parameter Objects. Określa on również responses klucz, którym można zdefiniować Response Objects jak tak:

responses: 
    notFoundResponse: 
    description: Entity not found. 
    schema: 
     $ref: '#/definitions/schema404' 

więc założyć mogłem poszerzyć moją poprzednią definicję ścieżki z następującym

paths: 
    /my/path/avatar: 
    get: 
     parameters: 
     - $ref: '#/parameters/avatarSizeParam' 
     responses: 
     - $ref: '#/responses/notFound' 

nie wydają się działać jednak. Wróciłem do the spec dla Operations Object i zauważyłem, że parameters może być Obiektem odniesienia, ale responses nie może.

Operation Object definiton (partial)

Co jest punktem umożliwiając Odpowiedzi definicji obiektów (responses na najwyższym, poziomie), jeśli nie można odwołać elementów tam? Czy jest jakiś sposób na zrobienie tego?

Odpowiedz

16

Jeśli widzisz here, trzeba określić kod stanu HTTP jako klucz, a następnie poprawna składnia jest:

paths: 
    /my/path/avatar: 
    get: 
     parameters: 
     - $ref: '#/parameters/avatarSizeParam' 
     responses: 
     404: 
      $ref: '#/responses/notFound' 
+0

Dziękujemy! Tak, to ma sens. Zapomniałem "odpowiedzi" było obiektem, a nie tablicą hahah –

Powiązane problemy