【发布时间】: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 错误。