2016-03-08 90 views
0

我有一個表單,用戶可以在其中爲圖形程序輸入自己的參數。提交函數肯定會保存模型,但是當我轉到輸出頁面時,出現一個錯誤,提示「出現意外錯誤(type = Unsupported Media Type,status = 415)。 不支持內容類型'null' 」。
我使用的是骨幹模型來保存這些參數,所以這裏是我的模型:將屬性從Backbone模型傳遞給Spring Controller作爲參數

var GraphModel = Backbone.Model.extend({ 
    defaults: { 
     "graphTitle": "", 
     "prefix": "", 
     "inputFile": "", 
     "grType": "" 
    } 
}); 

的視圖存儲在這些屬性提交事件的用戶價值。然後它進入一個新的頁面,「/輸出」。在我看來,提交功能看起來像這樣...

submit: function(event){ 
var model = new GraphModel(); 

model.set({graphTitle: $("#graphTitle").val(), prefix: $("#prefix").val(), 
    inputFile: $("#inputFile").val(), grType: $("#grType").val()}); 

var graphTitle = model.get("graphTitle"); 
var prefix = model.get("prefix"); 
var inputFile = model.get("inputFile"); 
var grType = model.get("grType"); 

model.save(); 

console.log(graphTitle + " " + prefix + " " + inputFile + " " + grType); 

window.location = "http://localhost:8181/output" 
} 

我試着輸入圖形參數作爲模型的屬性,其形式傳入

public OntologyGraph(String graphTitle, String prefix, String grType, 
    String inputFile) throws Exception { 

然後,我有我的控制器代碼,我只是試圖用來返回一個JSON格式來測試它。

@RestController 
public class GraphController { 

    @RequestMapping(value = "/output", consumes = "application/json", 
      produces = "application/json") 
    public @ResponseBody OntologyGraph graph(@RequestBody OntologyGraph model) 
      throws Exception { 

     return model; 

    } 
} 

回答

0

要開始,你似乎忘記請求方法

@RequestMapping(value = "/output", consumes = "application/json", 
      produces = "application/json",method={RequestMethod.GET,RequestMethod.POST}) 
    public @ResponseBody OntologyGraph graph(@RequestBody OntologyGraph model) 
      throws Exception { 

     return model; 
} 

通知我已經把2 POST和GET,但你可以把一個太喜歡這個

method=RequestMethod.GET 

但是,如果您的問題仍然存在,請嘗試指定媒體類型或內容爲主幹,如下所示:

myModel.fetch({ 
    type: "POST", 
    contentType: "application/json" 
}); 

myModel.save({ 
    type: "POST", 
    contentType: "application/json" 
}); 

希望它可以幫助

相關問題