接口返回错误设置

This commit is contained in:
suyl
2021-06-25 16:00:16 +08:00
parent 749de1b0e9
commit 21ab3d159e

View File

@@ -1,6 +1,7 @@
package controllers
import (
"encoding/json"
"fmt"
"git.rosy.net.cn/baseapi/utils"
"git.rosy.net.cn/jx-callback/business/model"
@@ -14,6 +15,13 @@ type ApiController struct {
web.Controller
}
const (
keyAppID = "app_id"
keyTimestamp = "timestamp"
keyMethod = "method"
keySign = "sign"
)
var (
routerMap map[string]reflect.Value
)
@@ -59,14 +67,14 @@ func (c *ApiController) CallOpenAPI() {
//timestamp int64
)
//判断必传参数是否传入begin
if appID = c.GetString("app_id"); appID == "" {
requireParams = append(requireParams, "app_id")
if appID = c.GetString(keyAppID); appID == "" {
requireParams = append(requireParams, keyAppID)
}
if method = c.GetString("method"); method == "" {
requireParams = append(requireParams, "method")
if method = c.GetString(keyMethod); method == "" {
requireParams = append(requireParams, keyMethod)
}
if sign = c.GetString("sign"); sign == "" {
requireParams = append(requireParams, "sign")
if sign = c.GetString(keySign); sign == "" {
requireParams = append(requireParams, keySign)
}
//if timestamp, err = c.GetInt64("timestamp"); err != nil {
// requireParams = append(requireParams, "timestamp")
@@ -97,9 +105,9 @@ func (c *ApiController) CallOpenAPI() {
//call
urls, _ = c.Input()
dataMap = utils.URLValues2Map(urls)
delete(dataMap, "app_id")
delete(dataMap, "method")
delete(dataMap, "timestamp")
delete(dataMap, keyAppID)
delete(dataMap, keyMethod)
delete(dataMap, keyTimestamp)
parms = []reflect.Value{reflect.ValueOf(dataMap)}
if routerMap[method] == reflect.ValueOf(nil) {
errCode = model.ErrCodeOpenAPIParamErrMethod
@@ -108,7 +116,10 @@ func (c *ApiController) CallOpenAPI() {
globals.SugarLogger.Debugf("Begin API CallOpenAPI Method: %s, accessUUID:%s, sign:%s\n", method, accessID, sign)
if err == nil {
result = routerMap[method].Call(parms)
fmt.Println("routerMap[method].Call(parms)", result)
if !result[1].IsNil() {
err = fmt.Errorf(result[1].String())
goto end
}
goto success
} else {
callResult.Code = errCode
@@ -124,12 +135,16 @@ end:
success:
{
callResult.Code = model.ErrCodeSuccess
callResult.Data = ""
callResult.Data = result[0].String()
c.Data["json"] = callResult
c.ServeJSON()
}
}
func (c *ApiController) AddPrint(dataMap map[string]interface{}) (data interface{}, err error) {
return fmt.Println("call AddPrint success ...", dataMap)
func (c *ApiController) AddPrint(dataMap map[string]interface{}) (data string, err error) {
if dataMap[keySign].(string) != "222" {
return "", buildParamErr(keySign)
}
data2, err := json.Marshal(dataMap)
return string(data2), err
}