Can this not be completed generic i.e. format is part_name1=part_value1|part_name2=part_value2|...

And then no special case handling should be needed for required i.e. it would be required=true