角度与resteasy - Mediatype不支持错误

时间:2016-03-14 04:02:02

标签: angularjs resteasy

我正在尝试从angularjs控制器向后端休息服务提交表单,并获得不受支持的媒体类型,即使我提交了内容类型的标题。

错误:

  

无法加载资源:服务器响应状态为415   (不支持的媒体类型)

角度控制器:

    $scope.formData = {
        'name':'test',
        'email':'test@test.com'
    };

    function get(restUrl, formData) {
    function success(result) {

        return result.data;
    }

    function error(err) {
        return err.data;
    }
    return $http({
        url: restUrl,
        headers: { 'Content-Type': 'application/json; charset=UTF-8'},
        method: "GET",
        timeout: 200000,
        params: formData
    }).then(success, error);
}

Java表单类,

public class SearchForm {

    private String name;
    private String email;

    public SearchForm() {
        super();
    }

    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public String getEmail() {
        return email;
    }
    public void setEmail(String email) {
        this.email = email;
    }
}

休息控制器,

@Named
@Singleton
@Path("/api/v1/")
public class SearchController {

  @GET
    @Path("/getAll")
    @Produces(MediaType.APPLICATION_JSON)
    @Consumes(MediaType.APPLICATION_JSON)
    public List<ResultDto> getReconLogs(@Context final HttpServletRequest request, final SearchForm searchForm) {
}
}

Angular控制器中是否需要任何内容​​或表单类中的任何注释?

由于

1 个答案:

答案 0 :(得分:0)

服务器API或定义问题。您的客户端是可以的,但function success(result) { return result.data; } function error(err) { return err.data; }承诺不会像这样使用。您无法从成功或错误中返回result.data。你必须分配或捕获它或做一些操作。

尝试此设置定义:

https://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html

Http 415 Unsupported Media type error with JSON