【问题标题】:angular with resteasy - Mediatype unsupported error带有resteasy的角度-Mediatype不受支持的错误
【发布时间】:2016-06-29 00:10:16
【问题描述】:

我正在尝试从 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 控制器或表单类中是否需要任何注释?

谢谢

【问题讨论】:

  • 服务器 API 问题 - Failed to load resource: the server responded with a status of 415 (Unsupported Media Type) 但是你会得到什么帮助? function success(result) { return result.data; } function error(err) { return err.data; } 这是一个承诺触发功能。你在哪里抓住它还是有更多的承诺?
  • Gary,客户端的错误处理不同。我想知道,为什么服务器没有完成请求并返回 415 错误。

标签: angularjs resteasy


【解决方案1】:

服务器 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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-06-06
    • 2017-05-29
    • 2017-08-03
    • 2022-12-22
    • 2020-03-12
    • 1970-01-01
    • 1970-01-01
    • 2017-12-20
    相关资源
    最近更新 更多