This question already has answers here:
Jersey 415 Unsupported Media Type
(3个答案)
3年前关闭。
我知道有些线程有相同的问题,但是我无法使其正常运行。我对此还很陌生。
我有一个运行的JAX-RS服务器:
我想在Oracle JET Client中发表文章:
它一直给我一个
我觉得有些奇怪的是,响应头中的内容类型为text / html
有人有解决方案吗?
编辑:
经过大量的网上搜索之后,我终于设法找出了真正的问题是什么……Glassfish 4.1.1似乎有一个错误,这是在向我的服务器发帖时导致问题的原因……
(3个答案)
3年前关闭。
我知道有些线程有相同的问题,但是我无法使其正常运行。我对此还很陌生。
我有一个运行的JAX-RS服务器:
GET
方法有效。 POST
方法没有。@POST
@Consumes(MediaType.APPLICATION_JSON)
@Produces(MediaType.APPLICATION_JSON)
public Response post(Movie movie){
System.out.println("In the POST method");
String result = movie.toString();
return Response.status(201).entity(result).build();
我想在Oracle JET Client中发表文章:
addMovie = function(){
console.log("post sent");
$.ajax({
type: "POST",
url: "http://localhost:8080/MovieRestService/resources/movies",
headers: {
"Content-Type": "application/json"
},
data:
{
id: 2,
name: "test",
director: "test",
year: 234
},
success: "success",
dataType: 'application/json'
});
它一直给我一个
415 Unsupported Media Type
错误。我觉得有些奇怪的是,响应头中的内容类型为text / html
Content-Type: text/htlm
有人有解决方案吗?
编辑:
经过大量的网上搜索之后,我终于设法找出了真正的问题是什么……Glassfish 4.1.1似乎有一个错误,这是在向我的服务器发帖时导致问题的原因……
最佳答案
这应该工作
var url = 'http://localhost:8080/MovieRestService/resources/movies';
var sucessCallback = function(response) {...}
var data = JSON.stringify({
id: 2,
name: "test",
director: "test",
year: 234
});
$.ajax({
url: url,
method: POST,
contentType: 'application/json; charset=utf-8',
dataType: 'json',
data: data,
cache: false,
context: this,
}).success(sucessCallback);
10-04 19:33