api.api 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114
  1. syntax = "v1"
  2. info(
  3. title: "API management"
  4. desc: "API management is used to register APIs and manage APIs"
  5. author: "Ryan Su"
  6. email: "yuansu.china.work@gmail.com"
  7. version: "v1.0"
  8. )
  9. import "../base.api"
  10. type (
  11. // The API information | API信息
  12. ApiInfo {
  13. BaseIDInfo
  14. // Translated Name | 多语言名称
  15. Trans string `json:"trans,optional"`
  16. // API path | API路径
  17. Path *string `json:"path,optional" validate:"omitempty,min=1,max=80"`
  18. // API Description | API 描述
  19. Description *string `json:"description,optional" validate:"omitempty,max=100"`
  20. // API group | API分组
  21. Group *string `json:"group,optional" validate:"omitempty,min=1,max=80"`
  22. // API request method e.g. POST | API请求类型 如POST
  23. Method *string `json:"method,optional" validate:"omitempty,uppercase,min=3,max=7"`
  24. // Whether is required | 是否是必须的 api
  25. IsRequired *bool `json:"isRequired,optional"`
  26. // Service name | 服务名称
  27. ServiceName *string `json:"serviceName,optional"`
  28. }
  29. // The response data of API list | API列表数据
  30. ApiListResp {
  31. BaseDataInfo
  32. // API list data | API 列表数据
  33. Data ApiListInfo `json:"data"`
  34. }
  35. // API list data | API 列表数据
  36. ApiListInfo {
  37. BaseListInfo
  38. // The API list data | API列表数据
  39. Data []ApiInfo `json:"data"`
  40. }
  41. // Get API list request params | API列表请求参数
  42. ApiListReq {
  43. PageInfo
  44. // API path | API路径
  45. Path *string `json:"path,optional" validate:"omitempty,max=200"`
  46. // API Description | API 描述
  47. Description *string `json:"description,optional" validate:"omitempty,max=100"`
  48. // API group | API分组
  49. Group *string `json:"group,optional" validate:"omitempty,max=80"`
  50. // API request method e.g. POST | API请求类型 如POST
  51. Method *string `json:"method,optional" validate:"omitempty,uppercase,min=3,max=7"`
  52. // Whether is required | 是否是必须的 api
  53. IsRequired *bool `json:"isRequired,optional"`
  54. // Service name | 服务名称
  55. ServiceName *string `json:"serviceName,optional"`
  56. }
  57. // API information response | API信息返回体
  58. ApiInfoResp {
  59. BaseDataInfo
  60. // API information | API数据
  61. Data ApiInfo `json:"data"`
  62. }
  63. )
  64. @server(
  65. jwt: Auth
  66. group: api
  67. middleware: Authority
  68. )
  69. service Core {
  70. // Create API information | 创建API
  71. @handler createApi
  72. post /api/create (ApiInfo) returns (BaseMsgResp)
  73. // Update API information | 创建API
  74. @handler updateApi
  75. post /api/update (ApiInfo) returns (BaseMsgResp)
  76. // Delete API information | 删除API信息
  77. @handler deleteApi
  78. post /api/delete (IDsReq) returns (BaseMsgResp)
  79. // Get API list | 获取API列表
  80. @handler getApiList
  81. post /api/list (ApiListReq) returns (ApiListResp)
  82. // Get API by ID | 通过ID获取API
  83. @handler getApiById
  84. post /api (IDReq) returns (ApiInfoResp)
  85. }