Spring MVC和AngularJS中的REST服务

时间:2016-12-22 05:38:10

标签: angularjs spring rest

我有下一个获取请求的方法:

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;
}

}

enter image description here

enter image description here

0 个答案:

没有答案