func (this ParamInteractor) GetParam(paramName string, request *io.Request) ParamValue { registeredParam := this.GetRegisteredParamByName(paramName) if ®isteredParam == nil { return registeredParam } paramValue, ok := request.GetInteractorParamString(paramName) if ok { registeredParam.Value = paramValue } else { registeredParam.Value = registeredParam.DefaultValue } return registeredParam }
func (this ParamInteractor) Validate(request *io.Request) error { missingRequiredParams := []string{} if len(this.Params) > 0 { for _, param := range this.Params { if !param.IsRequired { continue } _, found := request.GetInteractorParamString(param.ParamName) if !found { missingRequiredParams = append(missingRequiredParams, param.ParamName) } } } if len(missingRequiredParams) > 0 { return errors.New("Missing required interactor param(s): " + strings.Join(missingRequiredParams, ",")) } if this.ValidatorCallback != nil { return this.ValidatorCallback(request) } return nil }