我正在嘗試從瀏覽器做一個簡單的發佈請求,並且415 Unsupported Media
顯示在瀏覽器的控制檯中,它在控制檯中也表示Type
是text/html
,也許我是mising這裏有一些愚蠢的事情,但我認真地做了一個android客戶端的post請求,一切都在服務器端找到,所以我猜(因爲我不熟悉js)這是一個javascript問題,我在這裏,這裏是的代碼所需要的部分:Ajax向Jax-rs服務發送請求
AJAX(這個函數被調用send
,它做一些事情之前創建的JSON,這部分它的確定和測試中,JSON是被成功genereated):
$.ajax({
url: 'webresources/serverConfig/save/',
type: 'post',
dataType:'json',
data: jsonObj
});
我如何調用JavaScript的HTML表單:
<form action="javascript:send()" method="post">
JAX-RS服務:
@Path("serverConfig/")
public class ConfigurationSaverService {
@POST
@Path("save/")
@Consumes(MediaType.APPLICATION_JSON)
public void save(Configuration configuration){
//config stuffs here.
}
Edit:
由於@ adrianplattner的答案,它說我使用的是非常重要的glassfish 4.0
,所以我不需要添加球衣的依賴關係,我也嘗試glashfish 3.1
,仍然會得到相同的HTTP錯誤。
EDIT 2:
標題:
headers: {
'Accept': 'application/json',
'Content-Type': 'application/json'
},
我做到了這一點,但它沒有工作,我也嘗試設置一些參數在頭像像這樣的答案在這裏http://stackoverflow.com/questions/11492325/post-json-fails-with-415-unsupported -media-type-spring-3-mvc但它沒有解決問題,我需要一個實體包裝或什麼? – JosephChilberry
你可以嘗試打開LoggingFilter(如本答案http://stackoverflow.com/a/18033725/290799中的「編輯1」中所述),並與我們共享請求的標題? –
現在編輯頭,我不知道如何使我的maven Jax-rs項目產生web.xml,我真的不想手動添加它。 – JosephChilberry