我有下一个获取请求的方法:
public ResponseEntity getPagingNews(@RequestBody Paging paging, HttpServletRequest request) {
LanguageService.setLanguage(request);
List<News> news = newsDao.pagination(paging.getTake(), paging.getSkip());
if (news != null) {
return new ResponseEntity<>(news, HttpStatus.OK);
}
return new ResponseEntity<>(HttpStatus.NOT_FOUND);
}
public class LanguageService {
public static String lang = "ru-RU";
public static void setLanguage(HttpServletRequest request) {
Cookie[] cookies = request.getCookies();
for (Cookie cookie : cookies) {
if (cookie.getName().equals("mainLang")) {
if (!lang.equals(cookie.getValue())) {
LanguageService.lang = cookie.getValue();
}
}
}
}
}
如果我发送邮递员或招摇的请求所有工作都很棒,但如果我发送它与angularjs我已经返回400代码错误请求和我的@RequestBody为空。
并且角度js总是在服务器上发送两次http请求
AngularJS代码:
$scope.paging = {
page: 1,
pageSize: constantsService.PAGE_SIZE,
skip: 0,
take: 5
};
mainService.getNewses($scope.paging).success(function (data) {
$scope.newsList = data;
}).error(function (data, status) {
errorService.processError(data, status);
});
getNewses: function (paging) {
return $http({
method: "post",
url: constantsService.SERVER_URL + "/api/news",
data: paging
})
}
My model in Java:
public class Paging {
private Number take;
private Number skip;
private Number page;
private Number pageSize;
public Number getTake() {
return take;
}
public void setTake(Number take) {
this.take = take;
}
public Number getSkip() {
return skip;
}
public void setSkip(Number skip) {
this.skip = skip;
}
public Number getPage() {
return page;
}
public void setPage(Number page) {
this.page = page;
}
public Number getPageSize() {
return pageSize;
}
public void setPageSize(Number pageSize) {
this.pageSize = pageSize;
}
}