In a REST controller in Spring boot, I am trying to iterate the values in a RequestBody response and put some of them in a HashMap in a POST endpoint.
The JSON I am sending is of this structure:
{"name":"yogurt","vitaminA":6,"vitaminb12":5}
The endpoint looks like this so far:
@RequestMapping("/create")
public NutrientList createNUtrientList(@RequestBody NutrientList nutrientList) {
    Map<String, Double> nutrientMap = new HashMap<String,Double>();
    //get nutrient values, need help with this part
    for()
    //add values to map
    NutrientList nl = new NutrientList(nutrientList.getName(), nutrientMap);
    //will save to repository
    return nl;
}
The NutrientList class looks like this:
public class NutrientList {
    @Id
    private ObjectId id;
    @JsonProperty("name")
    private String name;
    @JsonProperty("nutrientMap")
    Map <String,Double> nutrientMap = new HashMap<String,Double>();
    public NutrientList() {}
    public NutrientList(String name, Map<String, Double> nutrientMap) {
        this.id = new ObjectId();
        this.name = name;
        this.nutrientMap = nutrientMap;
    }
    //setters and getters
}
The data is stored by separate nutrient in the database, it is not a map. I see the NutrientList class does not share the same structure, but is there any way I can get around this to be able to use a map without changing how it is stored in the database?
I need to use a map because there are many nutrients and I don't want to have separate variables for them. Thank you so much. Let me know if something is not clear.
EDIT: I could alternately turn the csv where I got the data in the database from into JSON format with the map, but I have not found a tool online that gives me this flexibility.
 
    