phpwebserverdocumentationdoxygen

How to create a public webserver API documentation with doxygen?


I would like to build an webserver API with PHP and want to generate a public documentation for the API endpoints using doxygen.

So far I know how to get doxygen going for my internal code-documentation, but I would like to create a second public documentation which is only describing the public webserver endpoints.

I would like to place the corresponding documentation into my controllers and actions so that any end-point-changes can be updated at the same time when developing instead of having to maintain code and documentation in parallel. So in general I'd need a way to mark my public documentations somehow and make doxygen whitelist those only for my public documentation.

Is there a standard or best-practice way to achieve this? What are necessary configuration steps? are there any doxygen-based tools that can help?


Solution

  • I finally found the solution myself. The correct way to do this is to use "OpenAPI"-tools that are often compatible with the swagger syntax in all common programming languages. (some frameworks even provide build-in support e.g. LoopBack) OpenAPI-specifications are designed to create a documentation for externals only describing the public interfaces/API-endpoints