Generating Swagger docs
Casdoor is built on beego, which uses the bee CLI to generate Swagger files. The default bee does not group APIs by tag; Casdoor uses a modified bee that supports the @Tag label so APIs are grouped in the generated docs.
Comment format
Use the same comment style as standard bee; the only extra requirement is @Tag so APIs are grouped. Example:
// @Title Login
// @Tag Login API
// @Description login
// @Param oAuthParams query string true "oAuth parameters"
// @Param body body RequestForm true "Login information"
// @Success 200 {object} controllers.api_controller.Response The Response object
// @router /login [post]
func (c *ApiController) Login() {
APIs with the same @Tag appear in the same group in the Swagger output.
Generate Swagger files
-
Add comments in the format above (including
@Tag) to your API handlers. -
Clone the modified bee: https://github.com/casbin/bee.
-
Build bee in the repo root:
go build -o mybee . -
Copy
mybeeinto the Casdoor project root. -
From the Casdoor root, run:
mybee generate docs -
(Optional) Generate docs for specific tags or APIs:
mybee generate docs --tags "Adapter API"
mybee generate docs --tags "Adapter API,Login API"
mybee generate docs --apis "add-adapter"
mybee generate docs --apis "add-adapter,delete-adapter"Use a comma
,only when listing multiple tags or APIs.
Generated Swagger files will appear in the Casdoor project.