POST返回415(不支持的媒体类型)

时间:2015-03-12 15:18:26

标签: angularjs rest

我相信我在资源和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就行了!

0 个答案:

没有答案