mirror of
				https://github.com/go-micro/go-micro.git
				synced 2025-10-30 23:27:41 +02:00 
			
		
		
		
	fix json tag parsing
This commit is contained in:
		| @@ -20,6 +20,10 @@ func extractValue(v reflect.Type, d int) *registry.Value { | ||||
| 		v = v.Elem() | ||||
| 	} | ||||
|  | ||||
| 	if len(v.Name()) == 0 { | ||||
| 		return nil | ||||
| 	} | ||||
|  | ||||
| 	arg := ®istry.Value{ | ||||
| 		Name: v.Name(), | ||||
| 		Type: v.Name(), | ||||
| @@ -37,6 +41,9 @@ func extractValue(v reflect.Type, d int) *registry.Value { | ||||
| 			// if we can find a json tag use it | ||||
| 			if tags := f.Tag.Get("json"); len(tags) > 0 { | ||||
| 				parts := strings.Split(tags, ",") | ||||
| 				if parts[0] == "-" || parts[0] == "omitempty" { | ||||
| 					continue | ||||
| 				} | ||||
| 				val.Name = parts[0] | ||||
| 			} | ||||
|  | ||||
| @@ -45,6 +52,11 @@ func extractValue(v reflect.Type, d int) *registry.Value { | ||||
| 				val.Name = v.Field(i).Name | ||||
| 			} | ||||
|  | ||||
| 			// still no name then continue | ||||
| 			if len(val.Name) == 0 { | ||||
| 				continue | ||||
| 			} | ||||
|  | ||||
| 			arg.Values = append(arg.Values, val) | ||||
| 		} | ||||
| 	case reflect.Slice: | ||||
|   | ||||
		Reference in New Issue
	
	Block a user