Пример #1
0
        private SwaggerParameterData CreateSwaggerParameterData(ParameterInfo pi)
        {
            var parameter = new SwaggerParameterData
            {
                Name           = pi.Name,
                ParameterModel = pi.ParameterType
            };

            var paramAttrs = pi.GetCustomAttributes <RouteParamAttribute>();

            if (!paramAttrs.Any())
            {
                parameter.Description = "Warning: no annotation found for this parameter";
                parameter.ParamType   = ParameterType.Query; // Required, so use query as fallback

                return(parameter);
            }

            foreach (var attr in paramAttrs)
            {
                parameter.Name        = attr.Name ?? parameter.Name;
                parameter.ParamType   = attr.GetNullableParamType() ?? parameter.ParamType;
                parameter.Required    = attr.GetNullableRequired() ?? parameter.Required;
                parameter.Description = attr.Description ?? parameter.Description;
            }

            return(parameter);
        }
        private SwaggerParameterData CreateSwaggerParameterData(ParameterInfo pi)
        {
            var parameter = new SwaggerParameterData
            {
                Name = pi.Name,
                ParameterModel = pi.ParameterType
            };

            var paramAttrs = pi.GetCustomAttributes<RouteParamAttribute>();
            if (!paramAttrs.Any())
            {
                parameter.Description = "Warning: no annotation found for this parameter";
                parameter.ParamType = ParameterType.Query; // Required, so use query as fallback

                return parameter;
            }

            foreach (var attr in paramAttrs)
            {
                parameter.Name = attr.Name ?? parameter.Name;
                parameter.ParamType = attr.GetNullableParamType() ?? parameter.ParamType;
                parameter.Required = attr.GetNullableRequired() ?? parameter.Required;
                parameter.Description = attr.Description ?? parameter.Description;
            }

            return parameter;
        }