2014-02-10 47 views
0

我正在尝试对控制器进行后调用,但我期望的对象包含Set数据类型,我不确定后期数据的外观。如何在春天将设置对象绑定到控制器

型号:

public class Notebook{ 
    private string name; 
    private Set<Todo> todos; 
} 

public class Todo{ 
    private String name; 
} 

控制器

@RequestMapping(method = RequestMethod.POST) 
    public void createNotebook(Notebook q){ 
    questionnaireService.saveOrUpdateNotebook(q); 
} 

目前我已经试过张贴如下面的例子:

curl --data "name=some notebook&todos[0].name=todo1&todos[1].name=todo2" http://localhost:8080/api/notebook 

似乎并没有工作。任何人都有套装经验?

回答

1

您应该符合Notebook q@RequestBody注释,以便请求可以映射到Notebook类型的对象。更多关于Spring MVC文档中输入数据和转换器的格式:Mapping the request body with the @RequestBody annotation

我们从JSON格式的前端发送数据并使用Jackson JSON将其转换为Java对象。如果你走这条路线,你可以直接声明todosSet<String>和输入将

{ 
    name: "some notebook", 
    todos: ["todo1", "todo2"] 
} 
+1

感谢。我也可以将数据类型从“设置”更改为“列表”,并使用之前我想使用的数组索引。 – user1099123

相关问题