{"record":{"id":"e416b4763bab134d","repo":"grpc-ecosystem/grpc-gateway","slug":"unsupported-field-type-s-of-parameter-s-in-s-s","errorCode":null,"errorMessage":"unsupported field type %s of parameter %s in %s.%s","messagePattern":"unsupported field type (.+?) of parameter (.+?) in (.+?)\\.(.+?)","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"internal/descriptor/types.go","lineNumber":298,"sourceCode":"// The converter function converts a string into a value for the parameter.\nfunc (p Parameter) ConvertFuncExpr() (string, error) {\n\ttbl := proto3ConvertFuncs\n\tif !p.IsProto2() && p.IsRepeated() {\n\t\ttbl = proto3RepeatedConvertFuncs\n\t} else if !p.IsProto2() && p.IsOptionalProto3() {\n\t\ttbl = proto3OptionalConvertFuncs\n\t} else if p.IsProto2() && !p.IsRepeated() {\n\t\ttbl = proto2ConvertFuncs\n\t} else if p.IsProto2() && p.IsRepeated() {\n\t\ttbl = proto2RepeatedConvertFuncs\n\t}\n\ttyp := p.Target.GetType()\n\tconv, ok := tbl[typ]\n\tif !ok {\n\t\tconv, ok = wellKnownTypeConv[p.Target.GetTypeName()]\n\t}\n\tif !ok {\n\t\treturn \"\", fmt.Errorf(\"unsupported field type %s of parameter %s in %s.%s\", typ, p.FieldPath, p.Method.Service.GetName(), p.Method.GetName())\n\t}\n\treturn conv, nil\n}\n\n// IsEnum returns true if the field is an enum type, otherwise false is returned.\nfunc (p Parameter) IsEnum() bool {\n\treturn p.Target.GetType() == descriptorpb.FieldDescriptorProto_TYPE_ENUM\n}\n\n// IsRepeated returns true if the field is repeated, otherwise false is returned.\nfunc (p Parameter) IsRepeated() bool {\n\treturn p.Target.GetLabel() == descriptorpb.FieldDescriptorProto_LABEL_REPEATED\n}\n\n// IsProto2 returns true if the field is proto2, otherwise false is returned.\nfunc (p Parameter) IsProto2() bool {\n\treturn p.Target.Message.File.proto2()\n}","sourceCodeStart":280,"sourceCodeEnd":316,"githubUrl":"https://github.com/grpc-ecosystem/grpc-gateway/blob/a58a4436a376a4bcc7d8f10c4d4f919a8438bba9/internal/descriptor/types.go#L280-L316","documentation":"Mapping error from Parameter.ConvertFuncExpr: the parameter's proto field type has no entry in the selected conversion table (proto2/proto3, repeated/optional variants) nor in wellKnownTypeConv. The gateway cannot generate the string-to-value conversion code for this parameter kind (e.g. group or unsupported WKT), so it fails with the field type, parameter name and parent method.","triggerScenarios":"Thrown at internal/descriptor/types.go:298 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Change the parameter to a supported scalar or well-known type.","Avoid group types and exotic WKTs as path/query parameters.","Update grpc-gateway if a newer version maps the type."],"exampleFix":null,"handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"a58a4436a376a4bcc7d8f10c4d4f919a8438bba9","analyzedAt":"2026-09-02T10:28:31.537Z","contentChangedAt":null,"schemaVersion":2},"datasetVersion":"2026-09-09T16:17:10.729Z"}