Command: microservice
Description: Micro Service
Usage: microservice
Example: ./config.json
```json
{
"namespace": "api-registration",
"server": {
"port": 8080
},
"templates": [
{
"name": "registration",
"path": "/",
"file_path": "example/template.html"
}
],
"apis": [
{
"name": "registration",
"path": "/registration",
"method": "POST",
"content_type": "application/json",
"response_type": "application/json",
"callback": {
"plugin": "plugin.so",
"function": "Registration"
},
"params": [
{
"name": "username",
"label": "Username",
"placeholder": "Enter Username",
"type": "username",
"validate": "username",
"required": true,
"min": 5,
"max": 32
},
{
"name": "fullname",
"label": "Full Name",
"placeholder": "Enter Full Name",
"type": "name",
"validate": "name",
"required": true,
"min": 5,
"max": 32
},
{
"name": "email",
"label": "Email Address",
"placeholder": "Enter Email Address",
"type": "email",
"required": true,
"min": 5,
"max": 32
},
{
"name": "password",
"label": "Password",
"placeholder": "Enter Password",
"type": "password",
"required": true,
"min": 8,
"max": 120
},
{
"name": "confirm_password",
"label": "Confirm Password",
"placeholder": "Enter Confirm Password",
"type": "password",
"required": true,
"min": 8,
"max": 120
}
]
},
{
"name": "verification",
"path": "/verification/:id/:otp",
"method": "GET",
"content_type": "application/json",
"response_type": "application/json",
"callback": {
"plugin": "plugin.so",
"function": "Verification"
},
"url_params": [
{
"name": "id",
"type": "textnumber",
"required": true
},
{
"name": "otp",
"type": "textnumber",
"required": true
}
]
}
]
}
```
Example: main.go
```go
package main
import (
"fmt"
"gitlab.hexacode.org/go-libs/hctypes"
"gitlab.hexacode.org/go-libs/microservice/config"
)
func Registration(ctx *config.ConfigContext) (int, hctypes.Dict, *config.ReturnHTTP) {
fmt.Println(ctx.Config.ToDict().ToColoredJson())
fmt.Println(ctx.ConfigApi.ToDict().ToColoredJson())
fmt.Println(ctx.URLParams.ToColoredJson())
fmt.Println(ctx.Params.ToColoredJson())
fmt.Println(ctx.Headers.ToColoredJson())
return 200, hctypes.Dict{
"id": 1,
"otp": 123456,
}, nil
}
func Verification(ctx *config.ConfigContext) (int, hctypes.Dict, *config.ReturnHTTP) {
fmt.Println(ctx.Config.ToDict().ToColoredJson())
fmt.Println(ctx.ConfigApi.ToDict().ToColoredJson())
fmt.Println(ctx.URLParams.ToColoredJson())
fmt.Println(ctx.Params.ToColoredJson())
fmt.Println(ctx.Headers.ToColoredJson())
return 200, hctypes.Dict{
"success": true,
"message": "OTP verified",
}, nil
}
```