New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
JSON_API: Output payload schemas und examples in swagger.yaml #2345
JSON_API: Output payload schemas und examples in swagger.yaml #2345
Comments
note to self:
|
Feedback aus dem Test von Cevi: Ich habe die Seite ausprobiert jedoch konnte ich keine gültigen Requests machen. Die angegebene Url war: https://cevi.puzzle.ch/api/://api/events?include=dates&token=xyz -> siehe /api/://api. Vermutlich ist das noch was falsch in der Konfiguration. In der Auswahlliste der Server wird auch nur :// - production angezeigt. Das sieht auch etwas komisch aus für eine Integrationsumgebung. |
Ja, merci, das ist uns auch schon aufgefallen, wird in #2467 getrackt. Das Try It Out Feature zu fixen hat aber aktuell keine Priorität. Der SAC wollte primär mal dass man automatisch API-Clients generieren kann, wofür wir das JSON Schema in der OpenAPI Spec erweitern mussten. |
!!! make sure to merge all PRs, or reopen ticket manually !!!
Als Nutzer der neuen JSON:API
möchte ich ein vollständigere und möglichst automatisch aktuell gehaltene API Dokumentation,
um Anbindungen einfacher und/oder automatisiert entwickeln zu können.
Im /api-docs/swagger.yaml fehlt bisher bei den Outputs ein schema und example. Neu soll dies ergänzt und in den Spec-Setup von graphiti bzw. rswag integriert werden, sodass die Specs failen falls die API Doku nicht mehr aktuell ist.
Mockup
Tech-Spec
SWAGGER_DRY_RUN=0
zu dokumentieren. Nur wenn diese Variable auf 0 gesetzt wird, werden die Specs beim Aufruf vonrails rswag:specs:swaggerize
auch wirklich ausgeführt und die resultierenden Mock-Daten als Examples ins OpenAPI yml geschrieben.GraphitiSpecHelpers::RSpec.schema!
den man eigentlich in den spec_helper schreiben sollte, der aber unsere Wagon Specs kaputt gemacht hat und den wir daher auskommentiert haben.items: { '$ref': '#/components/schemas/indexPerson' }
components.schemas
im swagger.yaml einsetzen.ToDo
produces
undschema
Direktiven einbauen, und dabei'$ref': '#/components/schemas/*'
referenzierenGraphitiSpecHelpers::RSpec.schema!
Befehl nutzen können und wollen, und wie wir ihn sinnvoll aktivieren können so dass er nicht im Weg ist aber trotzdem die Rückwärtskompatibilität überprüft wenn man alle Tests laufen lässtThe text was updated successfully, but these errors were encountered: