schreiben: Haustiere und lesen: Haustiere sind Oauth2 scopes
und sind nicht auf OpenAPI (fka Swagger.) operations categorization
bezogen.
OAuth2 Tive
Wenn eine API mit Oauth gesichert ist, Bereiche verwendet werden, um unterschiedliche Rechte/Privilegien an die API Verbraucher zu geben. Bereiche werden durch einen Namen definiert (Sie können verwenden, was Sie wollen).
Oauth Bereiche Zulassung in SwaggerUI, die als API Verbraucher handeln kann:
Bei der Beschreibung einer API mit einem Op enAPI (fka. Swagger) Spezifikation, können Sie diese Bereiche wie in der Frage gezeigt definieren.
Die Definition dieses Bereichs ist jedoch nur dann sinnvoll, wenn Sie nicht deklarieren, welche Operation von diesen Bereichen abgedeckt wird. Es wird durch das Hinzufügen dieser zu einer Operation durchgeführt:
security:
- petstore_auth:
- read:pets
In diesem Beispiel ist der Betrieb nur an den API Verbraucher zugänglich, wenn er erlaubt wurde, den read:pets
Umfang nutzen zu können. Beachten Sie, dass eine einzelne Operation zu mehreren oauth2-Bereichen und auch mehreren Sicherheitsdefinitionen gehören kann.
Sie können mehr über Sicherheit in OpenAPI lesen (fka. Swagger) hier
OpenAPI (fka. Swagger) Betrieb Kategorisierung
Unabhängig von OAuth2 Umfang, wenn Sie eine API-Operationen kategorisieren müssen, können Sie tags
verwenden:
tags:
- pets
dies zu einer Operation Durch die Zugabe wird es in der Kategorie pets
gestellt werden. Eine einzelne Operation kann mehreren Kategorien angehören.
Diese Kategorien werden von SwaggerUI verwendet, um Operationen neu zu gruppieren. Im Screen-Capture unten, können wir drei Kategorien (pet, zu speichern und Benutzer) finden Sie unter: Sie können mehr über Kategorien lesen Sie hier:
Hier ist das vollständige Beispiel mit Oauth2-Bereichen und einer Kategorie
swagger: "2.0"
info:
version: "1.0.0"
title: Swagger Petstore
securityDefinitions:
petstore_auth:
type: oauth2
authorizationUrl: http://petstore.swagger.io/api/oauth/dialog
flow: implicit
scopes:
write:pets: modify pets in your account
read:pets: read your pets
paths:
/pets/{petId}:
parameters:
- in: path
name: petId
description: ID of pet that needs to be fetched
required: true
type: integer
format: int64
get:
tags:
- pets
summary: Find pet by ID
responses:
"404":
description: Pet not found
"200":
description: A pet
schema:
$ref: "#/definitions/Pet"
security:
- petstore_auth:
- read:pets
delete:
tags:
- pets
summary: Deletes a pet
responses:
"404":
description: Pet not found
"204":
description: Pet deleted
security:
- petstore_auth:
- write:pets
definitions:
Pet:
type: object
properties:
id:
type: integer
format: int64
name:
type: string
example: doggie
Vielen Dank, @Arnaud! BTW, ich hatte schon geplant, eure "writing-openapi-swagger-specification-tutorial" -Reihe zu lesen! :) – lfree