{"id":22189042,"url":"https://github.com/mikunalpha/mswagger","last_synced_at":"2025-03-24T20:19:12.603Z","repository":{"id":134176807,"uuid":"64825725","full_name":"mikunalpha/mswagger","owner":"mikunalpha","description":"Generate swagger 2.0 json file using golang.","archived":false,"fork":false,"pushed_at":"2018-05-24T09:32:34.000Z","size":23,"stargazers_count":4,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-01-30T00:41:21.512Z","etag":null,"topics":["golang","swagger"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mikunalpha.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2016-08-03T07:36:58.000Z","updated_at":"2021-03-10T09:51:01.000Z","dependencies_parsed_at":null,"dependency_job_id":"a64b5d1b-534d-423c-b59f-c4bc5e9dadbc","html_url":"https://github.com/mikunalpha/mswagger","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mikunalpha%2Fmswagger","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mikunalpha%2Fmswagger/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mikunalpha%2Fmswagger/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mikunalpha%2Fmswagger/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mikunalpha","download_url":"https://codeload.github.com/mikunalpha/mswagger/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245343981,"owners_count":20599867,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["golang","swagger"],"created_at":"2024-12-02T11:14:29.963Z","updated_at":"2025-03-24T20:19:12.591Z","avatar_url":"https://github.com/mikunalpha.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"## Maybe you can try [github.com/mikunalpha/goas](https://github.com/mikunalpha/goas)\n\n# mswagger\nBased on [yvasiyarov/swagger](https://github.com/yvasiyarov/swagger) repository.\n\n## Todo\n1. ~~Support to parse vendor folder.~~\n2. ~~Generate swagger 2.0 json file.~~\n3. ~~Fix mappings of some field type with swagger-ui.~~\n\n## Usage\nComments in main.go\n```go\n// @Version 1.0.0\n// @Title Backend API\n// @Description API usually works as expected. But sometimes its not true.\n// @BasePath /\n// @Schemes http,https\n// @ContactName Abcd\n// @ContactEmail abce@email.com\n// @ContactURL http://someurl.oxox\n// @TermsOfServiceUrl http://someurl.oxox\n// @LicenseName MIT\n// @LicenseURL https://en.wikipedia.org/wiki/MIT_License\n```\nComments for API handleFunc\n```go\ntype User struct {\n  Id   uint64 `json:\"id\"`\n  Name string `json:\"name\"`\n}\n\ntype UsersResponse struct {\n  Data []Users `json:\"users\"`\n}\n\ntype Error struct {\n  Code string `json:\"code\"`\n  Msg  string `json:\"msg\"`\n}\n\ntype ErrorResponse struct {\n  ErrorInfo Error `json:\"error\"`\n}\n\n// @Title Get user list of a group.\n// @Resource users \"Normal user of this system\"\n// @Description Get users related to a specific group.\n// @Param  group_id  path  int  true  \"Id of a specific group.\"\n// @Success  200  {object}  UsersResponse  \"UsersResponse JSON\"\n// @Failure  400  {object}  ErrorResponse  \"ErrorResponse JSON\"\n// @Produce json\n// @Router /api/group/{group_id}/users [get]\nfunc GetGroupUsers() {\n  // ...\n}\n\n// @Title Get user list of a group.\n// @Resource users\n// @Description Create a new user.\n// @Param  user  body  User  true  \"Info of a user.\"\n// @Success  200  {object}  User           \"UsersResponse JSON\"\n// @Failure  400  {object}  ErrorResponse  \"ErrorResponse JSON\"\n// @Produce json\n// @Router /api/user [post]\nfunc PostUser() {\n  // ...\n}\n```\nCode in main.go\n```go\nimport \"github.com/mikunalpha/mswagger\"\n\n// ...\n  params := mswagger.Params{\n    ApiPackage:  \"your/pacakge/name\",\n    MainApiFile: \"your/pacakge/name/main.go\",\n    OutputPath: \"./swagger.json\",\n  }\n\n  if err := mswagger.Run(params); err != nil {\n    fmt.Println(err)\n  }\n// ...\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmikunalpha%2Fmswagger","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmikunalpha%2Fmswagger","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmikunalpha%2Fmswagger/lists"}