2014-02-10 48 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

相關問題