我相信我在资源和http请求上都设置了正确的数据类型,但出于某种原因,我仍然没有使用REST方法,而是返回415错误消息。
REST方法:
@POST
@XmlElement(name = "query")
@Path("/query")
@Consumes({ "text/turtle" })
@Produces({ "text/turtle" })
public Response query(Query query) {...}
Angular HTTP请求
$scope.searchContact = function (q) {
var uri = $scope.path;
$http({
method: 'POST',
url: uri,
data: q,
headers: {
//'Content-Type': 'text/turtle',
'Accept': 'text/turtle'
},
withCredentials: true
}).
success(function(data, status, headers) {
if (status == 200 || status == 201) {
$scope.queryResult = data;
//$("#query").val(data);
$scope.searchcontact = {};
}
}).
error(function(data, status) {
if (status == 401) {
notify('Forbidden', 'Authentication required to create new resource.');
} else if (status == 403) {
notify('Forbidden', 'You are not allowed to create new resource.');
} else {
notify('Failed '+ status + data);
}
});
};
感谢任何帮助。提前谢谢。
解决:
我发送一个String但期待Query对象。所以一旦把它改成了String就行了!