Skip to content
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

Beeing able to generate openapi documentation #27

Open
p8nut opened this issue Jun 6, 2024 · 1 comment
Open

Beeing able to generate openapi documentation #27

p8nut opened this issue Jun 6, 2024 · 1 comment

Comments

@p8nut
Copy link

p8nut commented Jun 6, 2024

First, What is OpenAPI?

The OpenAPI Specifications provides a formal standard for describing HTTP APIs.

Why could this be useful here ?

OpenAPI spécification enable developer to generate client library in their language see here this would be beneficial for all developers that want to use moodle (using the moodle-webservice_restful) because they could have a programmatically generated library tailored to their moodle instance.
Also, OpenApi have nice dashboard which could make the life of developer easier

generated example moodle.openapi3_0.json
editor with the generated example.

Why not directly in the moodle source code

In the Moodle Webservice api, the way to call one webservice is through a query param, in OpenAPI (version 3.X) the way to differentiate calls are by using different path like moodle-webservice_restful do.
So it seem logical to add this feature in this plugin more than anywhere else.

Why not in an other plugin with a dependency to this plugin ?

I think that this solution could be implemented but would not give the same visibility to the OpenAPI feature that could be offered through an implementation in here.

Thanks for your time.

PS: a demo implementation have been made here #28

@p8nut
Copy link
Author

p8nut commented Sep 30, 2024

Hello do you have any update on that?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant