2017-07-06 70 views
0

我已經搜索教程彈簧POST方法,以響應實體(不包括查詢)和我阿賈克斯得到錯誤插入數據。我想確認一下,從ajax到java的格式url是什麼?下面我的假設:什麼是從AJAX URL格式來發送POST方法有響應實體

本地主機:8080 /名稱項目/插入ID = 1 &名=鮑比

是上面的網址是正確的?因爲我失敗了這個網址。該參數是id和名稱。

myController的:

@PostMapping(value={"/insertuser"}, consumes={"application/json"}) 
@ResponseStatus(HttpStatus.OK) 
public ResponseEntity<?> insertUser(@RequestBody UserEntity user) throws Exception { 
    Map result = new HashMap(); 
    userService.insertTabelUser(user); 
    return new ResponseEntity<>(result, HttpStatus.CREATED);   
} 

我daoimpl:

@Transactional 
public String insertUser(UserEntity user) { 
    return (String) this.sessionFactory.getCurrentSession().save(user); 
} 

在招搖(插件的maven)上運行,但郵遞員與上述網址無法運行該代碼。

謝謝。 鮑比

+0

你能告訴我們你得到哪些錯誤? – sForSujit

+0

您必須通過POST請求將JSON對象傳遞給.... {contextpath}/insertuser。有很多資源。請檢查:https://www.leveluplunch.com/java/tutorials/014-post-json-to-spring-rest-webservice/ –

回答

0

我不知道,但似乎您試圖通過(ID = 1 &名=鮑比)通過GET PARAMS數據,但使用HTTP POST方法意味着通過內部HTTP請求的主體數據(以得到參數,就像你做的那樣,數據通過GET方法傳遞)。因此,您必須在客戶端序列化您的用戶數據,並將此序列化數據添加到請求主體並將其發送到localhost:8080/name-project/insert。

+0

所以,如果我用郵遞員,如何將數據插入送價值?謝謝 –

+0

嘗試做像這張照片http://imgur.com/a/8kttp。另外值得一提的是,如果您在客戶端的東西lkie使用jQuery作出AJAX請求,你可以試着這樣做:$。阿賈克斯({ 「URL」:「/名稱項目/插入」, 「數據」 :JSON.stringify({ID: '1',名稱: '博比'}), '類型': 'POST', '的contentType': '應用/ JSON' }); – agurylev

0

如上答案建議。您試圖將數據作爲查詢參數傳遞。但您沒有在您的rest API中讀取這些值。您需要在API中讀取這些查詢參數,然後形成一個對象或嘗試將json序列化對象傳遞給Post api作爲建議。希望能幫助到你。

相關問題